PHP データベース MySQL
まず、コードを入力します
$username=$_POST["name"];
$password=$_POST["password"];
if($username&&$password)
{
if(strpos($username," ")!==false)echo "ユーザー名が不正です";
else
{
$con=mysql_connect("localhost","root","1");
mysql_select_db(" manage ",$con);
$sql="
select *
from user
where username='$username' およびpassword='$password'
";
$query = mysql_query($sql) または die(mysql_error( ) );
$row=mysql_num_rows($query);
/* var_dump($sql);
*/
'ログイン成功';ログインに失敗しました';
}
}
?>
理由はわかりませんが、$row の実行後に取得される値は 0 です。ただし、取得した $sql
を使用してデータベースで実行すると、 , 当然クエリはできますので、SQLクエリ以降の関数に問題があるのは明らかなのですが、書籍を持っていないのでアドバイスをお願いしたいです。
ディスカッションに返信(解決策)
英語のユーザー名を使用することをお勧めします
文字エンコーディングが一致しないため、mysql_query(set names utf8) を試してください
文字エンコーディングが一致しないため、mysql_query(set names utf8)
返信する前に完了しました、親愛なる、あなたは正しいです!
英語のユーザー名を使用することをお勧めします
英語の中国人の名前は何人ありますか?
データベースのエンコーディングは何ですか? クエリを実行する前に、mysql_query("set names utf8"); を追加してください。
データベースのエンコーディングは何ですか? クエリを実行する前に、mysql_query("set names utf8"); を追加してください。
そうです!
英語のユーザー名を使用することをお勧めします
英語の中国人の名前は何人ありますか?
アカウント名と彼の名前を分離し、彼の名前を 1 つのアカウント情報として使用します。
中国語の文字は、文字セットのエンコードの問題が発生しやすいです。
mysql_query("set names utf8"); と同様に、この処理が欠落しているので、そのような低レベルの間違いを犯すべきではありません。
文字エンコーディングが一致しません、mysql_query(set names utf8)