gpt4 book ai didi

PHP 左连接不显示结果

转载 作者:行者123 更新时间:2023-11-29 12:24:22 25 4
gpt4 key购买 nike

我正在尝试左连接 PHP 中的表。我对左连接完全是菜鸟,我不知道我做错了什么!

$value=$_GET['value'];
$storeid=$_GET['store'];
$id=$_GET['id'];
$latitude=$_GET['lat'];
$longitude=$_GET['long'];

$result = mysqli_query($con,"SELECT carlist.id, carlist.vin, link_qr.qr, link_qr.vin
FROM link_qr, carlist LEFT JOIN link_qr.vin ON carlist.vin
WHERE qr="$value";");

while($row = mysqli_fetch_array($result)) {
echo $row['id'];
echo $row['vin'];
echo $row['qr'];
}

这是表结构

表格:link_qr

id------vin---------qr------webid---------other

表:carlist

id---stknum---vin----vt----stat---other---store_id---web_code---qrcode

当一切完成后,我想要以下内容。

我想加入 carlist 和 link_qr,其中 vins 彼此相等,然后我需要它返回 carlist id,其中 vin 等于 qr。

以下是我遇到的错误:

**Notice: Undefined index: store in /api/app_request/left_join.php on line 13
Notice: Undefined index: id in /api/app_request/left_join.php on line 14
Notice: Undefined index: lat in /api/app_request/left_join.php on line 15
Notice: Undefined index: long in /api/app_request/left_join.php on line 16
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in api/app_request/left_join.php on line 22**

最佳答案

有几点需要注意:

首先,您的 SQL 查询不正确:

SELECT carlist.id, carlist.vin, link_qr.qr, link_qr.vin 
FROM carlist
LEFT JOIN linkqr ON linkqr.vin=carlist.vin
WHERE qr="$value";

只要这些表和列存在,就应该是正确的格式。然而,其次,您不应该使用未转义的值查询数据库。这会导致 SQL 注入(inject)。更合适的做法是,您可以编写如下查询:

$query = <<<SQL
SELECT carlist.id, carlist.vin, link_qr.qr, link_qr.vin
FROM carlist
LEFT JOIN linkqr ON linkqr.vin=carlist.vin
WHERE qr=?
SQL;

$stmt = mysqli_prepare($query);
mysqli_bind_param($stmt, "s", $value); // this sets the ? in the sql query to $value
mysqli_execute($stmt);
$result = mysqli_get_result($stmt);
while($row = mysqli_fetch_array($result)) {
echo $row['id'];
echo $row['vin'];
echo $row['qr'];
}

关于PHP 左连接不显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28565743/

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