我剛開始學習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)這樣做更容易嗎?我認爲,儘管經歷了所有這些麻煩,但您仍然有SQL注入漏洞,因爲'$ name'沒有正確轉義。 – tadman
是否不區分大小寫?您正在使用'name'和'NAME' – RST
爲什麼不堅持現代教科書和教程中描述的方法? – Strawberry