gpt4 book ai didi

php - 使用 $_GET 获取搜索项,将数组转换为请求的列

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

我还没有对 MySQL_ 进行更改至PDO直到今天。不用说,迁移不仅仅是一个简单的头痛问题。所以,我需要一些帮助。在注册并提出这个问题之前,我尝试了所有可能的搜索词。

我的问题

  • 用户在搜索框中输入数字代码,将其翻译为.php?code=term
  • 脚本从数据库中选择代码所在的所有列
    搜索的代码术语。
  • PHP 将回显结果

我的代码

if (isset($_GET["code"])) {
//IF USER SEARCHES FOR CODE, RUN THIS. ELSE SKIP.
$crimecode = $_GET["code"];

$crcode = $link->prepare("SELECT * FROM crimecodes WHERE code = :code");
$crcode->bindParam(':code', $crimecode);
$crcode->execute();

$coderesult = $crcode->fetchAll();


echo "<h4>CODE:</h4>";
echo $crimecode;
echo "<br /><h4>DEFINITION:</h4>";
echo $coderesult;

die();

}

以前,这很简单。我所要做的就是:

$qcode = mysql_query("SELECT * FROM crimecodes WHERE code = $crimecode");
$fcode = mysql_fetch_assoc($qcode);

echo $fcode['definition'];

但是,不断发展的世界已决定修复一些未损坏的东西,因此现在整个先前的代码毫无意义,您必须学习新的东西。感谢您提供任何帮助以使其正常工作。

现在,上面的 PDO 代码返回定义:ARRAY。

就像字面意思一样,$coderesult打印Array .

最佳答案

fetchAll() 选项返回一个包含所有结果集行的数组 ( http://php.net/manual/pt_BR/pdostatement.fetchall.php )。

$coderesult 打印 Array 因为它实际上是一个数组。如果你执行 var_dump($coderesult) 你就会看到它。

我想您只想获取一行。如果是这种情况,请在 $coderesult = $crcode->fetchAll(); 之后添加此行:

$coderesult = $coderesult[0];

然后就可以了

echo $coderesult['definition'];

如果您尝试获取多行,则需要使用 foreach 循环遍历数组。

<小时/>

我建议你阅读 PDO Class 或 mysqli 的 php 手册,无论你喜欢什么。还有比 mysql_ 更多的选项。

此外,我认为值得一提的是您之前的代码

$qcode = mysql_query("SELECT * FROM crimecodes WHERE code = $crimecode");
$fcode = mysql_fetch_assoc($qcode);

echo $fcode['definition'];

它容易受到SQL Injection的影响。

关于php - 使用 $_GET 获取搜索项,将数组转换为请求的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384734/

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