【发布时间】:2012-03-14 06:37:36
【问题描述】:
可能重复:
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in php
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
我正在使用两个 MYSQL 数据库,试图从它们中收集数据以插入到字段中以提交到另一个数据库。当我去使用 mysql_fetch_assoc() 进行查询时,它给了我一个错误。我做了一些研究,但找不到与我的问题真正相关的任何内容。我想知道我是否可以得到一些帮助。
<?php
$connect = mysql_connect("localhost","***********","*********") or die ("Couldn't Connect"); //host,username,password
mysql_select_db("virtua15_jo151") or die ("Could not find database");
$query = mysql_query("SELECT jos_comprofiler.firstname, jos_comprofiler.lastname, jos_users.username, jos_comprofiler.cb_country, jos_users.email FROM jos_users LEFT JOIN jos_comprofiler ON jos_users.id=jos_comprofiler.id WHERE jos_users.id = " . mysql_real_escape_string($id));
if ($row = mysql_fetch_assoc($query))
{
$firstname = $row['firstname']; //This is whatever the field is called in your table
$lastname = $row['lastname'];
$loginname = $row['jos_users.username'];
$country = $row['cb_country'];
$email = $row['email'];
}
?>
下面是我可以包含的所有 HTML,如果需要,
【问题讨论】:
-
你的sql错了。现在这个错误可以是任何东西......你必须彻底检查表名,列名。我建议你,在 phpmyadmin 中,只写查询的初始部分,看看它是否运行......然后添加 1 个联合语句,如果它运行,加入另一个。这样一来,即使您不知道错误在哪里,您也可以发现错误。
-
请停止使用
mysql_*编写新代码,并学习使用PDO。 -
这是什么意思?为什么我不能按照自己的意愿编写代码。其次,我想知道为什么我因为这篇文章而失去了 4 个声望点。我来这里是想问一些关于如何处理 PHP 和其他事情的问题。在我在这里和互联网上进行研究并声称我在帖子中这样做之后,我不喜欢因为提出我不知道答案的问题而受到惩罚。
-
这不是“不写你想要的代码”。这是关于对您的一些代码提出问题:(1)您的 SQL 错误(2)您的代码很丑(
or die我的上帝,我的上帝!!)(3)如果您问一个问题,SQL 很糟糕,很丑代码,并且没有尝试理解好的建议(PDO 是正确且安全的方法),那么很抱歉,我们不会帮助您。 -
请另一个建议:检查 mysql_xx 的样本:
while(list($firstname, $lastname, $loginname, $country, $email)=mysql_fetch_array($sql)) {}更易于阅读和维护。