这个问题在这里已经有了答案:
mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expects parameter 1 to be resource
(31 个回答)
7年前关闭。
我一直在尝试这样做一两天,只是不明白为什么它不起作用,因为我有其他人以同样的方式设置。
我只想简单地从数据库中返回一些数据。
这链接到只包含它的 php 文件 (index.php)。
<?php
/*connect to local database */
$host="localhost"; // Host name
$db_username="Josh"; // Mysql username
$db_password="password"; // Mysql password
$db_name="messenger"; // Database name
$tbl_name="messages"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$db_username", "$db_password")or die("cannot connect to database");
mysql_select_db("$db_name")or die("cannot select DB");
$con=mysql_connect("$host","$db_username","$db_password","$db_name");
echo "test";
//retrieve messages
$query = mysql_query($con, "SELECT * FROM messages WHERE key='Josh'") or die(mysql_error());
echo "test2";
$row = mysql_fetch_assoc($query);
$msg = $row['msg_array'];
echo "test3";
echo mysql_num_rows($query);
echo $msg;
?>
只返回“test//test2//test3”,仅此而已。
这是我的数据库
几个小时以来,我一直试图简单地让一些东西归还,并且有点恼火。
我一直在更改它时遇到了很多错误,但是这一次,什么都没有返回。
这应该可以工作,因为我已经多次返回数据并且知道如何从头开始。我所有的其他网站都正常工作,我也没有更新 phpMyAdmin。
这可能是一个小错误,但它真的困扰着我
任何帮助将不胜感激,谢谢。
编辑
我放置
error_reporting(E_ALL);
ini_set('display_errors',1);
在我的代码顶部,它返回:
测试//测试2//
警告:mysql_fetch_assoc() 期望参数 1 是资源, bool 值在第 22 行的 C:\Users\Josh\SkyDrive\Default Sync Folder\Websites\IM\global.php 中给出
测试3
警告:mysql_num_rows() 期望参数 1 是资源, bool 值在第 26 行的 C:\Users\Josh\SkyDrive\Default Sync Folder\Websites\IM\global.php 中给出
最佳答案
$con=mysql_connect("$host","$db_username","$db_password","$db_name");
看起来非常奇怪我想有很多 PHP 错误,但您似乎看不到它们。
在代码顶部添加这些行
error_reporting(E_ALL);
ini_set('display_errors',1);
然后检查您在错误消息中看到的每个函数名称的手册页除此之外,您的主要问题是
您正在使用过时的库
这是必须的:
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
// connect (better to be moved into included file)
$dsn = "mysql:host=localhost;dbname=messenger;charset=utf8";
$opt = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$db = new PDO($dsn,"Josh", "password", $opt);
// getting data
$stm = $db->query("SELECT * FROM messages WHERE `key`='Josh'");
$row = $stm->fetch();
$msg = $row['msg_array'];
关于php - MySQL查询没有返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18149412/