嗨,伙计们,我不知道我做错了什么,但我的表是正确的,PHP错误是打开,它不插入
我可以同时获得名字和电子邮件回复
<?php
if (isset($_POST['subs'])) {
function html_escape($html_escape) {
$html_escape = htmlspecialchars($html_escape, ENT_QUOTES | ENT_HTML5, 'UTF-8');
return $html_escape;
}
$name=html_escape($_POST['name']);
$email=html_escape($_POST['email']);
if (empty($name) || empty($email)) {echo"<div class='alert alert-danger'>Please enter both name and email address</div>";}
else {
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo"<div class='alert alert-danger'>Invalid email address, please enter a correct email address!</div>";
}
else {
echo "INSERT into subs (first_name, email) VALUES ('$name','$email')";
$insert=mysql_query("INSERT into subs (first_name, email) VALUES ('$name','$email')");
if ($insert) {echo"<div class='alert alert-success'>Thank you for subscribing with us</div>";}
}
}}
?>
答案 0 :(得分:1)
首先,你是否在运行查询之前连接到mysql?
$conn=mysql_connect('localhost', 'your_db_username', 'your_db_password');
if(!$conn){
die('Cannot connect to mysql');
}
mysql_select_db('your_db_name');
然后,当您确定自己已连接到数据库并且查询仍无法正常工作时,请在查询后添加or die(mysql_error())
,这样可以帮助您了解&#39;你的插页出了问题:
$insert=mysql_query("INSERT into subs (first_name, email)
VALUES ('$name','$email')")
or die(mysql_error());
答案 1 :(得分:0)
总的来说,首选使用PDO类,可能会为您提供有关问题的更多信息。
e.g。
$pdo = new \PDO('mysql:host=localhost;dbname=<database_name>', '<database_username>', '<database_password>');
$sql = "INSERT into subs (first_name, email) VALUES (:name,:email)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
$stmt->bindParam(':email', $email, PDO::PARAM_STR);
$result = $stmt->execute();
这带来了很多好处。请相信我的话,或者给予PDO&#34;的好处。一个快速的谷歌。
答案 2 :(得分:0)
$ query =“INSERT INTO subs(first_name,email)VALUES('”。$ name。“','”。$ email。“')”;
$ insert = mysql_query($ query);