phpMyAdminとmysqlについて学び始めました。ここには質問があります。私は「生徒」のテーブルで何かを選択して、結果をエコーします。しかし、私がチェックすると、それは検索のための0行を返します。私はそれを私のデータベースに持っています。私は問題が何であるかを知らないmysql、phpの属性を選択
$conn = new mysqli($servername, $username, $password, $dbname);
$params="@name varchar(30)";
$paramslist="@name='$name%";
$sql = "SELECT name,address,city,birthday FROM student WHERE [email protected]";
$dbsql = "EXEC sp_executesql
N'$sql',
N'$params',
$paramslist";
$result = $conn->query($sql);
ECHO $result->num_rows;
: はここに私のコードです。助けてくれてありがとう。
で指定された変数にバインドされています。なぜあなたは[prepared statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param'](http://php.net/manual /en/mysqli-stmt.bind-param.php)もっと簡単にこれを行う?私は '$ name'が適切にエスケープされていないので、このすべての問題を解決するにもかかわらず、SQLインジェクションのバグが残っていると思います。 – tadman
は大文字と小文字の区別がありませんか?あなたは 'name'と' NAME'を使用しています – RST
(現代の)教科書とチュートリアルに記載されている方法に従わないのはなぜですか? – Strawberry