-4
我想插入數據到一個phpmyadmin表中,一個類似的代碼工作在另一個頁面,但它沒有在這一個工作。這裏的代碼:插入數據到phpmyadmin表
<?php
$hostname = 'localhost';
$username = 'root';
$password = '';
try {
$conn = new PDO("mysql:host=$hostname;dbname=database", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch (PDOException $e) {
echo $e->getMessage();
}
if (isset($_POST['NomPrenom']) && isset($_POST['date']) && isset($_POST['email']) && isset($_POST['description'])) {
$NomPrenom = $_POST['NomPrenom'];
$date = $_POST['date'];
$email = $_POST['email'];
$description = $_POST['description'];
try {
$sql = "INSERT INTO demande (NomPrenom,date,email,description)
VALUES ('$NomPrenom','$date','$email','$description')";
$stmt = $conn->prepare($sql);
if ($stmt->execute(array(
$NomPrenom,
$date,
$email,
$description
))) {
echo "Data inserted";
} else {
echo "could not insert";
}
}
catch (Exception $ex) {
error_log($ex->getMessage());
}
}
?>
當我提交頁面刷新沒有錯誤,並沒有添加任何表中。 這是數據庫中的表 table named demande
'phpMyAdmin'沒有表,其應用程序命名參數!但是'MySQL'確實有表格。 – RiggsFolly
您的腳本存在[SQL注入攻擊]的風險(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) 甚至 [如果您正在轉義輸入,它不安全!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) 使用[編寫參數化語句](http:// php .net/manual/en/mysqli.quickstart.prepared-statements.php) – RiggsFolly
您沒有正確使用準備好的語句;你的查詢是無效的。 –