この問題についてスタックを検索しましたが、何も見つかりませんでした。おそらく構文の問題ですが、わかりません。
//Include necessary files
include_once("inc/mysql.inc.php");
include_once("inc/security.inc.php");
//SECURITY: Check input before adding them into the table.
$u = security_checkinput($u);
//Connect to the MySQL database.
mysql_dbconnection();
//Go get users id corresponding to the search
$u = mysql_query("SELECT id FROM users
WHERE name LIKE \"%$u%\" OR active LIKE \"%$u%\"
ORDER BY name ASC") or die("There is a server error : " . mysql_error());
$u = mysql_fetch_row($u);
//Close database connection
mysql_dbclose();
//Return the array.
return $u;
クエリの後に $u で mysql_num_rows を試したところ、0 が返されました。残念ながら、users テーブルと name 列に何かがあります。
何か助けはありますか?どうもありがとう !!
編集: 問題は security_check 関数によるものです。可能な限りSQLインジェクションを避けたいので、これを作りました:
function security_checkinput ($s)
{
$s = stripslashes($s);
if (!is_numeric($s))
$s = "'".addslashes($s)."'";
return $s;
}