通过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)");
不会造成任何问题。
选择上面可能出现什么问题?
答案 0 :(得分:0)
<?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