2

我在为我用 php.ini 编写的搜索制定查询时遇到了一些困难(大概是语法)。

到目前为止,我有这个:

$query = ("SELECT * FROM $table WHERE $field LIKE "$trimmed);

修剪定义为 $trimmed = trim($var);

我想要完成的是,使用该查询在我的 mysql 数据库中搜索某一行。我已经确认它确实连接到数据库并且它确实从表中获取数据。我是 99% 的 php 和 mysql 新手,我刚刚开始研究这个。任何帮助将不胜感激。

编辑:哦,我在这里使用查询: $result = mysql_query($query);我确定问题不在这里,但在 $query

4

2 回答 2

2

改变

$query = ("SELECT * FROM $table WHERE $field LIKE "$trimmed);

$query = "SELECT * FROM $table WHERE $field LIKE '$trimmed'";

在输入中转义任何特殊字符(例如反斜杠)总是一个好主意。使用 mysql,您可以使用mysql_escape_string

$trimmed = mysql_escape_string($trimmed);
$query = "SELECT * FROM $table WHERE $field LIKE '$trimmed'";

等效命令存在于 mysqli、PDO 和所有 PHP 框架中。

于 2012-07-19T14:48:32.413 回答
1

查看 PHP 手册,例如:

$query= mysql_query("SELECT data FROM mydb;");
$myarray= array();
while ($row= mysql_fetch_array($query)) {
    $myarray[] = $row['data'];
}

编辑

这是你的代码?如果是这样,你有一个语法错误:

$query = ("SELECT * FROM $table WHERE $field LIKE "$trimmed);

应该:

$query = ("SELECT * FROM $table WHERE $field LIKE '$trimmed'");
于 2012-07-19T14:45:59.803 回答