您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解要在第1行的‘%$_GET“urlsearch’附近使用的正确语法。
我不确定我做错了什么。有什么建议吗?
尝试能够搜索我的数据库(数据的URL列)的URL,看看它是否在那里。
<form method="GET" onSubmit=""><input type="text" name"urlsearch" id="SearchURL" /><input type="submit" value="Search" /></form>
<?php
$hostname = *
$username = *
$password = *
mysql_connect($hostname, $username, $password) or die(mysql_error());
mysql_select_db("tracker") or die("Unable to select database");
$query = 'SELECT URL FROM tracker.Data WHERE URL LIKE %$_GET["urlsearch"]';
$results = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_row($results) or die(mysql_error());
echo "<b>[$row] </b>";?>
发布于 2011-10-20 13:14:17
在这样的查询中,如果您尝试“搜索”(使用$_GET"urlsearch")并放置一个奇怪的符号,比如本例中的单引号,它将停止导致错误。
这可能会被利用(SQL injection)。
使用mysql_real_escape_string() (和/或其他一些函数)来防止这种情况。
发布于 2011-10-20 13:06:22
更改:
$query = 'SELECT URL FROM tracker.Data WHERE URL LIKE %$_GET["urlsearch"]';至:
$query = 'SELECT URL FROM tracker.Data WHERE URL LIKE "%'.$_GET["urlsearch"].'"';发布于 2011-10-20 13:06:25
试一下,
$query = "SELECT `URL` FROM `tracker.Data` WHERE `URL` LIKE '%$_GET[urlsearch]'";https://stackoverflow.com/questions/7831386
复制相似问题