gpt4 book ai didi

PHP mysqli_stmt_bind_result 与 mysqli 联合

转载 作者:行者123 更新时间:2023-11-28 23:59:51 24 4
gpt4 key购买 nike

所以我尝试创建一个 UNION 查询,这样我就可以从两个表(同一个数据库)中获取数据,稍后我尝试使用 mysqli_bind_result( ),但出现错误:

mysqli_stmt_bind_result(): Number of bind variables doesn't match number

这是我的代码:

$sql = mysqli_stmt_init($con);
if(mysqli_stmt_prepare($sql, "(SELECT `naslov`, `id_lang` FROM `naslovi` WHERE `id_vijesti` = ?) UNION ALL (SELECT `text`, `id_lang` FROM `tekstovi` WHERE `id_vijesti` = ?)")) {
mysqli_stmt_bind_param($sql, "ii", $id, $id);
mysqli_stmt_execute($sql);
mysqli_stmt_bind_result($sql, $naslov, $id_lang1, $text, $id_lang2);
$vijest = array();

while(mysqli_stmt_fetch($sql)) {
echo $naslov;
if($id_lang1 == $id_lang2) {
$vijest[] = array($naslov, $text, $id_lang1);
}

}

mysqli_stmt_close($sql);

最佳答案

错误表明变量的数量不匹配。 UNION 查询合并内部查询中的所有列。

我认为您正在寻找 JOIN 查询。看看这个页面:http://www.sitepoint.com/understanding-sql-joins-mysql-database/

编辑:添加了一个例子

"SELECT 
`naslovi`.`naslov`, `naslovi`.`id_lang`, `tekstovi`.`text`, `tekstovi`.`id_lang` AS tekstovi_id_lang
FROM `naslovi` JOIN `tekstovi`
ON `naslovi`.`id_vijesti` = `tekstovi`.`id_vijesti`
WHERE `naslovi`.`id_vijesti` = ?"

关于PHP mysqli_stmt_bind_result 与 mysqli 联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30275624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com