为了添加数据库,我在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/