[英]Mysql data retrieve in PHP
我正在嘗試在php頁面中執行一個簡單的mySQL查詢,並且不斷收到此錯誤:“警告:mysql_fetch_array()期望參數1為資源,布爾值在...中給出”,即使查詢返回的結果是mysql工作台。 這是我的代碼:
<?php
$con=mysqli_connect("localhost","root","","eshkol");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql1="SET Names utf8";
$sql = mysql_query("SELECT * FROM student WHERE idStudent=2");
$r = mysql_fetch_array($sql);
echo $r["idStudent"];
if (!mysqli_query($con,$sql1))
{
die('Error hebrew: ' . mysqli_error($con));
}
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "success";
mysqli_close($con);
?>
我在這里做錯了什么?
您正在混合mysql_*
和mysqli_*
函數。
$sql = mysql_query($con, "SELECT * FROM student WHERE idStudent=2");
$r = mysql_fetch_array($sql);
應該
$sql = mysqli_query($con, "SELECT * FROM student WHERE idStudent=2");
$r = mysqli_fetch_array($sql);
有趣的是,您在該代碼正下方使用它們:
if (!mysqli_query($con,$sql1))
{
die('Error hebrew: ' . mysqli_error($con));
}
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
您可能希望將兩者結合起來以清理代碼:
$sql = mysql_query($con, "SELECT * FROM student WHERE idStudent=2");
if (!$sql) {
die('Error: ' . mysqli_error($con));
}
$r = mysql_fetch_array($sql);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.