$name=$_GET['name'];
$sql="SELECT `productname`, `price` FROM `stock` WHERE productname=".$name."
and (userid=".$_SESSION['user_id']." or userid='100')";
基本上我從一個頁面獲取產品名稱。我正在傳遞查詢,其中productname是$ name,而userid是當前簽名的或管理員用戶標識(100)。以下查詢有什麼問題
但我得到錯誤
Notice: Undefined variable: productname in /path_to_file.php on line 431
line 431: <?php echo $productname;?>
其中$產品名稱= $行[ '產品名'];
我感覺SQL查詢中有些問題是錯誤的。但是,什麼是錯的?
請發表完整的密碼。 –
對於你的錯誤: 你的變量,如錯誤所述,未定義。 典型的解決方案是利用isset()(http://php.net/manual/en/function.isset.php)來檢查變量是否已經初始設置,如果是的話(使用if()( http://php.net/manual/en/control-structures.if.php)語句),繼續設置變量。 我會把你引到這裏:http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index –
你應該[使用像PDO這樣的現代界面](http: //net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)[可靠的SQL轉義](http://bobby-tables.com/PHP)。使用字符串連接是一個非常糟糕的主意,你在這裏有一個**大量的[SQL注入漏洞](http://bobby-tables.com/)。 – tadman