我發現很多答案似乎對我沒有用。 當我身邊有變量$消息,$ email和$日期像如何在sql查詢中插入php變量?
'VALUES ('$message', '$email', '$date')';
它告訴我撇號
Parse error: syntax error, unexpected '$message' (T_VARIABLE)
當我刪除,我得到這樣的事情無法輸入數據:未知列'字段列表'中的'$ message'。我試着插入
$message = mysql_real_escape_string($message);
$email = mysql_real_escape_string($email);
$date = mysql_real_escape_string($date);
與「」周圍的變量,如
'VALUES ("$message", "$email", "$date")';
它擺脫了錯誤信息,但現在,而不是從HTML表單的輸入,我得到字面意思是「$ message」在我的數據庫中。
我做錯了什麼? 我的簡單目標只是將電子郵件,消息和日期放入數據庫中。請幫忙!謝謝!
下面是完整的代碼,我有:
<?php
if($_POST && isset($_POST['email'], $_POST['essay'])) {
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn=mysql_connect($dbhost, $dbuser);
if(! $conn)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("Ink", $conn);
date_default_timezone_set("America/New_York");
$message = $_POST['essay'];
$email = $_POST['email'];
$date = date("y-m-d h:i:sa");
$sql = 'INSERT INTO inktable '.
'(writings, email, date) '.
'VALUES ('$message', '$email', '$date')';
mysql_select_db('ink');
$retval = mysql_query($sql, $conn);
if(! $retval)
{
die('Could not enter data: ' .mysql_error());
}
mysql_close($conn);
}
?>
有沒有人告訴你關於SQL注入? – Biffen 2015-02-12 07:51:49
嘗試 INSERT INTO inktable'。 '(文字,電子郵件,日期)'。 'VALUES('{$ message}','{$ email}','{$ date}')'; 並使用PDO(如果可以的話) – 2015-02-12 07:53:07
使用'mysqli_'而不是'mysql_'。你也可以使用pdo。 Mysql已棄用,並且完全不推薦 – frunkad 2015-02-12 08:21:44