php - 如何从mysql准备语句中的两个表中选择值

标签 php mysql prepared-statement

为了添加数据库,我在 Xampp 服务器中使用 PhpMyAdmin。我创建了两个表,每个表包含不同的行。我试图在 php.ini 中同时从两个表中选择值。下面的代码工作正常

    $gi1=2;

    $stmt2=$this->con->prepare(" SELECT qwer  FROM table1  WHERE nmnm=?;");
    $stmt2->bind_param("i",$gi1);
    $stmt2->execute();
    $stmt2->bind_result($var1);
    $stmt2->fetch();

    $gi2=23;

    $stmt2=$this->con->prepare(" SELECT qwer2  FROM table2  WHERE nmnm2=?;");
    $stmt2->bind_param("i",$gi2);
    $stmt2->execute();
    $stmt2->bind_result($var2);
    $stmt2->fetch();

但是需要太多时间,所以我决定在一个语句中进行选择。

$gi2=23;$gi1=2;

    $stmt2=$this->con->prepare(" SELECT qwer2,qwer1  FROM table2,table1  WHERE nmnm2=? or nmnm=?;");
    $stmt2->bind_param("ii",$gi2,$gi1);
    $stmt2->execute();
    $stmt2->bind_result($var2,$var1);
    $stmt2->fetch();

它显示了一个 fatal error 。那么如何在一个语句中从两个表中选择值?

最佳答案

如果表没有任何链接列,您可以尝试使用 UNION

SELECT qwer  FROM table1  WHERE nmnm=?
union
(SELECT qwer2 as qwer  FROM table2  WHERE nmnm2=?)

关于php - 如何从mysql准备语句中的两个表中选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54771062/

相关文章:

php - 无法让 mysql 数组重复代码以每行执行

mysql - sql查询加入

php - 将 row_number 与准备语句一起使用

javascript - HTML 表 JQuery 自动小时总计

php - 时间相加减去时间

php - 在mysql查询ORDER BY中更改时间格式

mysql - 如何从 phpmyadmin 将 mysqli 默认列结构设置为大写

php - 如何通过比较删除特定索引

mysql - 更新中的自动增量值与内部生成的值冲突

python - 将 NULL 值插入 double 据类型 MySQL Python