[英]var_dump return bool(false) and @mysql_ping() return true, why ?
通過PHP的MySQL連接問題。 我有如下簡單的數據庫:
CREATE TABLE test (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
val INT
);
當我在與mysql連接的終端中選擇時:
select * from test;
它輸出通常選擇的結果。
我從php執行的相同選擇,例如:
<?php
$con = mysqli_connect("localhost", "root", "", "hfh") or die("Unable to Connect");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysql_query("SELECT * FROM test");
echo "results number: " . mysql_num_rows($result);
echo "<br/>";
echo mysql_num_rows($result);
echo "<br/>";
echo "results number: ";
echo "<br/>";
echo var_dump($result);
echo "<br/>";
echo @mysql_ping() ? 'true' : 'false';
mysqli_close($con);
?>
它給了我輸出:
results number:
results number:
bool(false)
true
當我像這樣插入時:
mysqli_query($con,"INSERT INTO test (val) VALUES (55)");
它不會引起任何問題。
選擇上方可能出什么問題?
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = $mysqli->query($query);
/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);
/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);
/* free result set */
$result->free();
/* close connection */
$mysqli->close();
?>
參考網址: http : //us3.php.net/manual/zh/mysqli-result.fetch-array.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.