gpt4 book ai didi

用于从 mysql 中提取客户数据的 PHP 搜索脚本

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:00 24 4
gpt4 key购买 nike

我正在尝试在我自己的客户门户中构建一个简单的搜索脚本,我正在尝试构建它以通过他们的电话 ESN 进行搜索。我对 php 不是很有经验,所以我可能遗漏了一些小东西,或者犯了一个小错误。

无论如何,当您输入手机的任何 esn 并点击搜索时,它根本不会显示任何结果。这是我正在使用的简单脚本

<?php
$dbserv='********';
$dbuser='********';
$dbpass='********';
$dbdata='********';
$link = mysql_connect($dbserv, $dbuser, $dbpass);
if (!$link) { die('Could not connect: ' . mysql_error());}mysql_select_db($dbdata);

?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form action="" method="post">
Search: <input type="text" name="esn" /><br />
<input type="submit" value="Submit" />
</form>

<?php
if (!empty($_REQUEST['esn'])) {

$esn = mysql_real_escape_string($_REQUEST['esn']);

$sql = "SELECT * FROM phones where phoneserial LIKE '%".$esn."%'";
$r_query = mysql_query($sql);

while ($row = mysql_fetch_array($r_query)){
echo 'ESN: ' .$row['phoneserial'].'<br>';
}

}
?>
</body>
</html>

我注意到我在这一行的前面犯了一个错误

$esn = mysql_real_escape_string($_REQUEST['esn']); 

我原来是这样的

$term = mysql_real_escape_string($_REQUEST['esn']);

然后当您输入以 A10000 开头的 14 位 esn 时,它实际上会显示我们数据库中的每个 esn,而不是搜索的那个,我不知道为什么。

如果这很蹩脚,请原谅我,仍在努力学习

最佳答案

如果 $esn 未定义,您将搜索纯通配符 (%%),它将匹配所有可能的记录。当您查看这段代码时并不奇怪:

$sql = "SELECT * FROM phones where phoneserial LIKE '%".$esn."%'";

只需删除 $esn,因为您没有定义 $esn 而是使用了 $term

你真的不应该再使用 mysql_ 函数了。了解如何使用 mysqli 或 PDO 和准备好的语句而不是转义字符串函数。

关于用于从 mysql 中提取客户数据的 PHP 搜索脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31955908/

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