MYSQL制定搜索查询

时间:2012-07-19 14:41:53

标签: php mysql

我有轻微的困难(语法可能)为我在php中编写的搜索制定查询。

到目前为止,我有这个:

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

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

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

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

2 个答案:

答案 0 :(得分: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框架中都存在等效命令。

答案 1 :(得分:1)

Check out the PHP manul,例如:

$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'");