php - MySQL查询没有返回任何结果

标签 php mysql database

这个问题在这里已经有了答案:





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”,仅此而已。

这是我的数据库
Here's mdatabase

几个小时以来,我一直试图简单地让一些东西归还,并且有点恼火。
我一直在更改它时遇到了很多错误,但是这一次,什么都没有返回。

这应该可以工作,因为我已经多次返回数据并且知道如何从头开始。我所有的其他网站都正常工作,我也没有更新 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/

相关文章:

php - 安全文件扩展名

python - 为什么这个查询不能从 python 到 SQL?

mysql - 通过左连接/结果减少获得最低价格

java - 从 Java 对象中动态选择字段

php - 显示整个数据库的多字段搜索表单

css中的php变量

php - 如何使用 Constant Contact API?

php - Laravel MySQL 在本地计算机上工作但不在远程

mysql rbar情况

php - 如何从以下连接 php/MySQLi 查找最后插入的 id、事务、提交、回滚