gpt4 book ai didi

php - 当 SQL 查询为空时使用 PHP 重定向

转载 作者:可可西里 更新时间:2023-11-01 07:32:42 25 4
gpt4 key购买 nike

我正在使用此 PHP 脚本在 MySQL 数据库/表中返回具有相应 URL 值的搜索输入值。这个想法是将它们附加到重定向以自动跳转到该页面。

<?php
$searchResults = $_POST['search'];
$dbhost = 'localhost';
$dbuser = 'admin';
$dbpass = 'pwd';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = "SELECT url
FROM Table_1
WHERE input = '" .$searchResults."'";

mysql_select_db('database_1');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
$redirect = $row['url'];
header('Location:'.$redirect);
}

要捕获与 Table_1 上的值不匹配的任何输入,请添加此 If 语句。它会将任何不相关或拼写错误的输入重定向到 xyz.html

if (mysql_num_rows($retval) < 1)  {

header('Location: xyz.html');

}

这是不正确的吗?它似乎有效,但我认为必须有更简洁的方法来执行此操作/这可能是不好的做法。

最佳答案

如果您只希望从查询中获得一个结果,那么它就可以了。
但如果有多行,则最后一行将被加载。那样效率会很低。
你也可以直接这样做:

if($retval)
{ .$row = mysql_fetch_array($retval, MYSQL_ASSOC);
header('Location:'.$row);
}
else
header('Location:xyz.html');

如果您只需要一行,则无需使用 while 循环。

关于php - 当 SQL 查询为空时使用 PHP 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880443/

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