我编写了一个简单的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”,那么它的工作。
答案 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);
?>