簡體   English   中英

MySQL數據在PHP中檢索

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM