PHP和MySQL查询数据库
问题描述:
<?php
require_once 'login1.php';
$connect = new mysqli($db_hostname, $db_username, $db_password);
if ($connect -> connect_error) {
die("Unable to connect to MySQL: " . mysql_error());
}
else {
echo "connected successfully.";
}
//selecting a database
$connects= mysqli_connect("localhost", "debola" , "mypassword");
if (mysqli_connect_errno()){
echo "failed to connect to MySQL: " . mysqli_connect_error();
}
else{
echo "Database anuoluwa selected";
}
$query = "SELECT * FROM anuoluwa";
$result = mysqli_query($query);
if (!$result) die ("Database access failed: " . mysqli_error($connect));
$rows = mysqli_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j) {
echo 'Author: ' . mysql_result($result,$j,'author') . '<br>';
echo 'Title: ' . mysql_result($result,$j,'title') . '<br>';
echo 'Category: ' . mysql_result($result,$j,'category') . '<br>';
echo 'Year: ' . mysql_result($result,$j,'year') . '<br>';
echo 'ISBN: ' . mysqli_result($result,$j,'isbn') . '<br><br>';
}
?>
这是返回错误的部分:PHP和MySQL查询数据库
$query = "SELECT * FROM anuoluwa";
$result = mysqli_query($query);
if (!$result) die ("Database access failed: " . mysqli_error($connect));
$rows = mysqli_num_rows($result);"
参数要求,我无法弄清楚。
答
对于mysqli应该有sql连接作为第一个参数。 Manual mysqli_query
此外,mysql_result是旧功能,请尝试mysqli_fetch_assoc而不是将结果存储在某个数组中。然后使用foreach来使用数据。
你为什么连接两次?第一次连接调用应该足够了,作为优点,它使用适当的面向对象的接口,而不是传统的过程接口。作为一个优点,这将避免陷入偶然使用'mysql_result'的陷阱,这里完全错误,因为它缺少'i'。 – tadman
你的代码在太多层次上失败。 –
对不起,但我不明白这个问题如何保证upvote –