gpt4 book ai didi

php - 通过带空格的 URL 从 MySQL 选择条目

转载 作者:行者123 更新时间:2023-11-30 00:25:39 24 4
gpt4 key购买 nike

制作一个小脚本来搜索现有的单词组合。使用 script.php?req=%param% 获取 AJAX,其中 %param% 是数据库中的条目。对于单个请求,它工作正常,根据我的需要返回下一个值。但我根本不明白如何查找按空格分隔的条目:

$REQUEST = isset( $_GET['req'] )? $_GET['req']: false;
echo $REQUEST;
$mysqli = new mysqli("localhost", "username", "1337", "database");
$query = "SELECT `first_col` , `second_col` FROM `table` WHERE `first_col` = '" . $REQUEST . "'";
$result = $mysqli->query($query);
$row = $result->fetch_array(MYSQLI_ASSOC);
$pieces = explode(", ", $row['second_col']); //explodes given data using comma and space
echo $pieces['0']; //prints out first part of req output
$result->free();
$mysqli->close();

但是当我请求某种这样的东西时:

?req=word+another_word

脚本不返回任何内容,因为它找不到这样的条目“word another_word”。打印时必须包含空格,而不是逗号。

如何找到每个表的所有条目并将它们打印在一个不带逗号且仅用空格分隔的字符串中?

最佳答案

好吧,你应该尝试这样的事情。基本上,您在查询中使用关键字 IN,因此您准备了一个单词列表。之后,您循环遍历结果。

$REQUEST = isset( $_GET['req'] )? $_GET['req']: false;
echo $REQUEST;
$words = "'" . str_replace(" ", "','", $REQUEST) . "'"; // you will have something like: 'word','another_word','etc'

$mysqli = new mysqli("localhost", "username", "1337", "database");
$query = "SELECT `first_col`, `second_col`
FROM `table`
WHERE `first_col` IN (" . $words .")
ORDER BY FIELD(first_col, $words)";
$result = $mysqli->query($query);

$output = array();
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
$pieces = explode(", ", $row['second_col']); //explodes given data using comma and space
$output[] = $pieces['0']; // adds first part of req output to the output array
}

$result->free();
$mysqli->close();

echo implode(" ", $output);

关于php - 通过带空格的 URL 从 MySQL 选择条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22911081/

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