0
申し訳ありません。単純なSQL & PHPを使用してこの小さなアカウントチェックを行いましたが、アカウントが存在する場合はtrueの代わりにfalseを返すようです。SELECTが間違った情報を返す
public function ifExists($name) {
$handler = new sql();
$sql = $handler->connect();
$sql->real_escape_string($name);
$result = $sql->query("SELECT ime FROM users WHERE ime='".$name."'");
if($result == false) {
if($result->num_rows != 0) {
$echo = 'account exists';
return true;
}
else {
return false;
}
}
}
そして今、ここにはチェック
if($result->num_rows != 0) {
$echo = 'account exists';
return true;
}
else {
return false;
}
であるSQLでIME = 'TOMA'
可能なすべてのコードパスの戻り値が関数にありません。 – paddy
ああ、私はそれをfalseに戻すように設定しなければなりません。私は(デフォルトのリターンとして)仮定する。ありがとうございます。 –
クエリで文字列補間を使用すると、SQLインジェクション攻撃につながる可能性があり、悪い習慣です。準備されたステートメントを見てください:https://php.net/manual/en/mysqli.prepare.php – RegularlyScheduledProgramming