0

我编写了一个简单的 php 代码来显示 mySql 表中的数据。这个在我使用“mysql_connect”、“mysql_select_db”时有效,但在我使用“mysqli_connect”、“mysqli_select_db”时无效。任何人都可以请对它有所启发。

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

这是我写的代码:

<?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”,那么它就可以工作了。

4

1 回答 1

2

您正在将mysql_功能与mysqli_. 我建议您查看文档

<?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);
?>
于 2013-02-08T23:09:47.427 回答