簡體   English   中英

var_dump返回bool(false),而@mysql_ping()返回true,為什么?

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

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