gpt4 book ai didi

php - 2 个表已连接,但因特殊变量而中断

转载 作者:行者123 更新时间:2023-11-29 08:01:05 26 4
gpt4 key购买 nike

我已经加入了两个表,当它只有字母时,它与 $_GET['p'] 配合得很好,但是当我有像 1a、1b、2a、2b 这样的情况时,它会中断,除了白色背景外什么都不显示整个网站。

表测试检查

meny | subtitle | doknamn   | store

1a | word | 123.txt | word_sub

1b | fruit | test.txt | fruit_sub

1c | food | gru.txt | food_sub

表testdok

meny | sökord 

1a | apple

1b | dsasd

1c | asda

HTML

<a href="?p=1a">link with numbers and letters.</a>
<a href="?p=test">Link with letters</a>

如果我按第一个链接,我将进入"new"页面,所有内容都将变成白色。但如果我按第二个链接内容将显示。

if(isset($_GET['p'])){
$page = $_GET['p'];
$page = preg_replace("#[^0-9a-z]#i","",$page);

$visadok = mysqli_query($conn,"SELECT *
FROM testdok
RIGHT JOIN testcheck
ON testdok.meny=testcheck.meny WHERE meny='$page'") or die();

while($row = mysqli_fetch_assoc($visadok)){
$ord = $row['sökord'];
echo $ord ;
}
}

最佳答案

这个

ON testdok.meny=testcheck.meny WHERE meny='$page'") or die();
^^^^^^^^^-----

毫无意义,尤其是在开发过程中。由于它只会在失败时退出,因此您永远不会被告知失败的原因。至少应该是

... or die(mysqli_error($conn))

这样您就会知道出了什么问题。

真正的问题是

ON testdok.meny=testcheck.meny WHERE meny='$page'") or die();
^^^^^---here

该字段名称不明确,因为BOTH 表中有一个meny。它应该是 WHERE testdok.menyWHERE testcheck.meny

关于php - 2 个表已连接,但因特殊变量而中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23786978/

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