我在PHP中有一个函数:
function doSQL($sql,$line)
{
$resutl = mysql_query($sql) or die("Error on line: " . $line . "<br>SQL Query: " . $sql . "<br>Error: " . mysql_error());
return $result;
}
这样做的唯一目的是最大限度地减少输入无限MySQL查询的需要。
我称之为:
$sql = "SELECT name FROM airfields WHERE id LIKE '" . $_GET['id'] . "'";
$result = doSQL($sql,__LINE__);
但是,它会在所有调用中抛出此错误:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in xxx\xxx\xxx\get_contacts.php on line xx
我错过了什么?
答案 0 :(得分:1)
编辑器中的拼写检查器? “$ result”显然是错误的。
答案 1 :(得分:0)
只是旁注,使用您的代码将是非常危险的,安全性明智。确保正确地将获取变量转义为SQL注入攻击。
另外,我建议使用更好的PHP数据库模块,例如mysqli:http://php.net/manual/en/book.mysqli.php
它更容易使用,更安全。
答案 2 :(得分:0)
function db_connect($server,$username,$pass,$database)
{
$result = new mysqli($server, $username, $pass, $database);
if ($result->connect_error) {
die('Connect Error (' . $result->connect_errno . ') ' . $result->connect_error);
}
return $result;
}