session_start();
$CompanyName = $_POST['CompanyName'];
$result = mysqli_query ("select CustomerID from CompanyInfo where CompanyName = '.$CompanyName.'");
$row = mysql_fetch_row($result);
$_SESSION["CustomerID"] = $row[0];
我有一種感覺,在我的引用有問題,但我無法弄清楚。MYSQL查詢調用POST變量
謝謝。
請在編寫任何**更多SQL接口代碼之前,您必須閱讀[正確的SQL轉義](http://bobby-tables.com/php)以避免嚴重的[SQL注入臭蟲(http://bobby-tables.com/)。當使用'mysqli'時,您應該使用參數化查詢和['bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **避免**使用字符串插值來完成此操作。 **從不**將'$ _POST'數據直接放入查詢中。 – tadman
是的,這是錯誤的,你很容易受到[sql注入攻擊](http://bobby-tables.com)。真正解決你問題的方法是從根本上改變你寫查詢的方式。你也在混合mysqli(注意** i **)和mysql(no ** i **)調用,這也是不可能的。換句話說,你的代碼完全被破壞了。 –
你已經在使用'mysqli'。好! (部分地,正如Marc B所注意到的那樣)進一步使用它並使用參數綁定。隨機StackOverflow示例在這裏:http://stackoverflow.com/questions/15748254/how-to-run-the-bind-param-statement-in-php – GolezTrol