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

    $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();


它显示了一个致命错误,那么如何在一条语句中从两个表中选择值呢?

最佳答案

如果表没有任何链接列,则可以尝试使用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/

10-12 20:40