簡體   English   中英

PHP 查詢將變量插入 MySQL 不起作用

[英]PHP Query to Insert Variables into MySQL not working

下面的查詢沒有將變量插入 MySQL。 我知道 function valid_email2有效,因為我將非電子郵件地址放入$inviteeemail並根據以下代碼重定向。

我知道我有正確的 MySQL 連接字符串。

知道為什么沒有任何東西被放入 MySQL 嗎?

$invitorname = $_POST['invitorname'];
$inviteename = $_POST['inviteename'];
$inviteeemail = $_POST['inviteeemail'];
$uid = $_POST['uid'];
$subcheck = (isset($_POST['subcheckinvite'])) ? 1 : 0;

if ( ! valid_email2($inviteeemail))
{
    session_write_close();
    header("Location:http://www...com/.../file.php");
    exit;   
}
else
{
    mysql_query("INSERT INTO invites VALUES (NULL, '$uid', '$inviteeemail', '$invitorname', '$inviteename', NULL, '$subcheckinvite', NULL)");
}

在您的查詢中,您有$subcheckinvite但您在腳本開頭將其設置為$subcheck 也許就是這樣。

你插入NULL的字段可以是null嗎?

檢查mysql_query的返回值。 如果為 false,則查詢無效,您可以打印mysql_error()以查看錯誤消息。

這並非不可能源於您不是 escaping 任何用戶輸入的事實。 除了允許某人通過精心設計表單輸入來完全更改您的查詢之外,如果任何字段包含單引號,您的查詢將失敗。

除了修復錯誤之外,您還應該考慮提高代碼的質量。

  • 您使用不存在的變量( $checksubinvite
  • 您將 NULL 插入列中,而不是簡單地指定要插入的列
  • 您沒有驗證所有輸入
  • 您在可能的數字列周圍有單引號
  • 你有大量的空白和不一致的縮進

...ETC。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM