mysqli无法正常工作

时间:2013-02-08 23:07:42

标签: php mysqli

我编写了一个简单的php代码来显示mySql表中的数据。 当我使用“mysql_connect”,“mysql_select_db”但是当我使用时不工作时这个工作正常 “mysqli_connect”,“mysqli_select_db”。任何人都可以请点亮它。

我是一名非常初级的网络开发人员。

这是我写的代码:

<?php
 $con = mysqli_connect("localhost","root","abc123");
 if (!$con)
   {
   die('Could not connect: ' . mysql_error());
}

$db=mysqli_select_db("database_name",$con) or die("Could not select DB");

if (!$db)
{
die('no database connected');
}

$data = mysql_query("SELECT * FROM categories") 
 or die(mysql_error()); 
 Print "<table border cellpadding=3>"; 
 while($info = mysql_fetch_array( $data )) 
 { 
 Print "<tr>"; 
 Print "<th>Name:</th> <td>".$info['parentId'] . "</td> "; 
 Print "<th>ID:</th> <td>".$info['title'] . "</td> </tr>"; 
 } 
 Print "</table>"; 
 ?> 

但如果我用“mysql”替换“mysqli”,那么它的工作。

1 个答案:

答案 0 :(得分:2)

您正在将mysql_个功能与mysqli_混合使用。我建议您查看documentation

<?php
$link = mysqli_connect("localhost", "root", "abc123", "database_name");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT * FROM categories";

if ($result = mysqli_query($link, $query)) {

echo "<table border cellpadding=3>";

    /* fetch associative array */
    while ($info = mysqli_fetch_assoc($result)) {
    echo "<tr>"; 
    echo "<th>Name:</th> <td>".$info['parentId'] . "</td> "; 
    echo "<th>ID:</th> <td>".$info['title'] . "</td> </tr>"; 
    }

    /* free result set */
    mysqli_free_result($result);

echo "</table>";
}

/* close connection */
mysqli_close($link);
?>