php - 将三个表连接在一起 SQL PHP

标签 php mysql

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





mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expects parameter 1 to be resource

(31 个回答)


6年前关闭。




我正在做我的项目,我想从 tablesite 中获取姓名、家庭、电话号码和电子邮件 + 从 job_list 中获取 job_name + 从关系中获取评论。这是我的代码:

  <fieldset class="fdex" >
        <legend><span class="style4">لیست مشاغل</span></legend>


        <?php

$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';




$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");

$dbresult=mysql_query("SELECT tablesite.name,
                          tablesite.family,
                          tablesite.phone_number,
                          tablesite.email,
                          job_list.job_name,
                   FROM  $db_table
                   INNER JOIN relation
                   on tablesite.id_user=relation.user_id
                   INNER JOIN job_list
                   on relation.job_id=job_list.job_id",$con);

while($amch=mysql_fetch_assoc($dbresult))
{?>

<?php
echo "* نام: "."&nbsp&nbsp&nbsp".$amch["tablesite.name"]." ".$amch["tablesite.family"]."&nbsp&nbsp&nbsp"."* عنوان خدمت: ".$amch["job_list.job_name"]."&nbsp&nbsp&nbsp"."* شماره تماس: ".$amch["tablesite.phone_number"]."&nbsp&nbsp&nbsp"."* ایمیل: ".$amch["tablesite.email"].'<br>'
.$amch["relation.comments"].'<br>';

}
?>

</fieldset>

当我运行代码时出现错误:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\source\JobList.php on line 259



第 259 行:
 while($amch=mysql_fetch_assoc($dbresult))

tablesite: id_user,name,family,phone_number,email

job_list:job_id,job_name

关系:job_id、user_id、评论

最佳答案

您的查询有一个不需要的额外逗号,请将您的查询更新为:

SELECT tablesite.name,
                      tablesite.family,
                      tablesite.phone_number,
                      tablesite.email,
                      job_list.job_name //<--it was here
               FROM  $db_table
               INNER JOIN relation
               on tablesite.id_user=relation.user_id
               INNER JOIN job_list
               on relation.job_id=job_list.job_id

您也不需要在 php 中指定表名:
<?php
echo "* نام: "."&nbsp&nbsp&nbsp".$amch["name"]
."     ".$amch["family"]."&nbsp&nbsp&nbsp"."* عنوان خدمت:"
.$amch["job_name"]."&nbsp&nbsp&nbsp"."* شماره تماس:"
.$amch["phone_number"]."&nbsp&nbsp&nbsp"."* ایمیل:"
.$amch["email"].'<br>'.$amch["comments"].'<br>';

}
?>

关于php - 将三个表连接在一起 SQL PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454464/

相关文章:

php - 将 opencart 从 1.5.6.4 升级到 2.x.x。给出 JSON 错误

php - 使用 PHP 在单引号和双引号之间查找内容

php - 查看论坛主题时如何减少 mysql UPDATE

php - 如何在一个循环中使行溢出

php - 需要加速 MySQL 查询,只有 4,000 条记录,需要 3 秒以上,有 3 个连接

MySQL 在 ssh 内、bash 内查询,带参数

Mysql二分查找

php - 如何使用我的 PHP 脚本中的数据动态更新 Bootstrap 进度条?

PHP XML如何输出漂亮的格式

php - Mysql 插入不起作用并且没有给出错误