2015-02-23 138 views
2

我已经看到了很多像这样的问题,但没有一个真正帮助我。我试图编写一些从MySQL表中获取值并将其打印出来的代码。每当我尝试运行代码时,它都不会运行它,只是显示原始代码,或者它返回一个MySQL错误。我的PHP如下:PHP代码没有得到MySQL表值

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "toughtohackpassword"; 
$dbname = "weirddb"; 

$con = mysqli_connect($servername, $username, $password, $dbname); 


$sql = "SELECT * FROM `class1`"; 


$result = mysql_query($sql, $con); 


if (!$result) { 
    echo "Could not successfully run query ($sql) from DB: " . mysql_error(); 
    exit; 
} 


$data = ""; 
while ($row = mysql_fetch_assoc($result)) { 
    $data .= "<tr> 
       <td>" . $row['name'] . "</td> 
       <td>" . $row['score'] . "</td> 


       </tr>"; 
} 

exit; 

?> 

顺便说一句,该错误信息是'无法成功运行查询(SELECT * FROM从DB的Class1:”

我知道这个问题很普遍,所以。请告诉我,如果我需要添加任何东西!

+2

为什么混淆了'mysqli_connect'和'mysql_'函数?当然这不会起作用。 – bcesars 2015-02-23 20:41:19

+1

(facepalm)对。我在PHP很新,你能告诉我如何解决这个问题吗? – javathunderman 2015-02-23 20:42:08

+1

确保不要使用'mysql_',而是'mysqli_' ... – developerwjk 2015-02-23 20:42:57

回答

0
$con = mysqli_connect($servername, $username, $password, $dbname); 
      ^----mysql **I** 

$result = mysql_query($sql, $con); 
       ^---mysql **WITHOUT** I 

如果你有绝对的连骨头裸露在你的代码最小的错误处理,而不是盲目地假设没有什么能出问题,你会被告知,你的查询失败,因为没有连接到数据库:

$result = mysql_query($sql, $con) or die(mysql_error()); 
           ^^^^^^^^^^^^^^^^^^^^^^ 
+0

你介意发布固定代码吗?谢谢。 – javathunderman 2015-02-23 21:09:36

+1

你不能在自己的代码中将'mysql'更改为'mysqli'?如果你太忙,无法几次击中'i'键,那么你太忙了,无法在这个网站上... – 2015-02-23 21:10:28

+0

不知道有没有...不好意思。 – javathunderman 2015-02-23 21:23:28

0

基本上,它看起来像您正在使用的mysqli混合mysql的

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "toughtohackpassword"; 
$dbname = "weirddb"; 

$con = mysqli_connect($servername, $username, $password, $dbname); 


$sql = "SELECT * FROM `class1`"; 


$result = mysqli_query($con,$sql) or die(mysqli_error($con)); 



$data = ""; 
while ($row = mysqli_fetch_assoc($result)) { 
    $data .= "<tr> 
       <td>" . $row['name'] . "</td> 
       <td>" . $row['score'] . "</td> 


       </tr>"; 
} 

exit(); 

?> 
0
<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "toughtohackpassword"; 
$dbname = "weirddb"; 

$con = mysqli_connect($servername, $username, $password, $dbname); 


$sql = "SELECT * FROM `class1`"; 


$result = mysqli_query($sql, $con); 


if (!$result) { 
    echo "Could not successfully run query ($sql) from DB: " .  mysql_error(); 
    exit; 
    } 


$data = ""; 
while ($row = mysqli_fetch_assoc($result)) { 
    $data .= "<tr> 
       <td>" . $row['name'] . "</td> 
       <td>" . $row['score'] . "</td> 


      </tr>"; 
} 

exit; 

?> 

您使用的MySQLi用于连接到数据库,所以你必须在功能

使用 “库MySQLi”,而不是 “MySQL的”
0

嗨Java迅雷侠,

<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "toughtohackpassword"; 
    $dbname = "weirddb"; 

    $con = mysql_connect($servername, $username, $password, $dbname); 
    //---Make sure those variables for connecting DB are correct 
    //And please using one DB connection method (PDO/mysql/mysqli so on) 

    $sql = mysql_query("SELECT * FROM `class1`") or die(mysql_error()); 

    $data = "<html>"; 
    $data .= "<body>"; 
     $data .= "<table>"; 
     if(mysql_num_rows($sql) > 0) {//list the result if rows of $sql > 0 
       while ($rows = mysqli_fetch_assoc($sql)) { 
        $data .= "<tr>"; 
        $data .= "<td>" . $row['name'] . "</td>"; 
        $data .= "<td>" . $row['score'] . "</td>"; 
        $data .= "</tr>"; 
       } 
     } 
     $data .= "</table>"; 
    $data .= "</body>"; 
    $data .= "</html>"; 
    echo $data; //Show the results by using echo 

?> 

我也是PHP中的新成员,我不确定在哪条线上出现错误,除非您没有回显$数据。 此外,你可以更清楚地说明错误吗?谢谢。

0

运行此操作,它应该适用于您,如果您尝试查询您的表和列名称中没有拼写错误。

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "toughtohackpassword"; 
$dbname = "weirddb"; 

$con = new mysqli($servername, $username, $password, $dbname); 

$sql = "SELECT * FROM class1"; 

$result = $con->query($sql); 

if ($con->error) { 

    die("Could not connect to database"); 

} else { 

    $data = ""; 

    while ($row = mysqli_fetch_assoc($result)) { 

     $data .= "<tr> 
        <td>" . $row['name'] . "</td> 
        <td>" . $row['score'] . "</td> 
        </tr>"; 

    } 

    echo $data; 
    exit; 
} 

?>