为什么我的数据不会进入我的sql数据库?我知道我已连接到数据库。我知道发布的数据到达此页面是因为我可以回应它。 !emptys的行有问题。当我输入yyy但不是xxx的值时,我会收到“Please Fill out all Fields”消息。但是,如果我将两者都留空,或仅输入xxx的值,我什么也得不到。当我为两者输入值时,我会收到“失败”消息,因此数据没有插入到sql中。
if (isset($_POST['xxx']) && ($_POST['yyy'])) {
$xxx = $_POST['xxx'];
$age = $_POST['yyy'];
if (!empty($xxx) && !empty($yyy)) {
$query = "INSERT INTO test VALUES ('".mysql_real_escape_string($child_name)."',
'".mysql_real_escape_string($age)."')";
if ($query_run = mysql_query($query)) {
echo 'Data inserted.';
} else {
echo 'Failed.';
}
} else {
echo 'Please fill out all fields';
}
}
答案 0 :(得分:3)
首先更正isset
yyy
声明
if (isset($_POST['xxx']) && isset($_POST['yyy']))
第二次更正:
$yyy = $_POST['yyy'];
代替$age = $_POST['yyy'];
第三次更正:
if (mysql_query($query))
代替if ($query_run = mysql_query($query))
因为mysql_query()
返回bool
echo mysql_error();
而不是echo 'Failed.';
来获取你的mysql错误!
答案 1 :(得分:0)
检查你的php和mysql错误。
<?php
echo (mysql_error());
error_report(E_ALL);
?>
答案 2 :(得分:0)
检查查询并尝试使用此代码并在('id', 'field name')
上重命名:
$query = "INSERT INTO test ('id', 'field name') VALUES ('". mysql_real_escape_string($child_name) ."', '". mysql_real_escape_string($age) ."')";
答案 3 :(得分:0)
您是否尝试过查询?
在发送之前回应查询并尝试在phpmyadmin
中运行它还要添加echo mysql_error();
以查看错误
答案 4 :(得分:0)
几个问题:
1. if (isset($_POST['xxx']) && ($_POST['yyy'])) { //needs to be
if (isset($_POST['xxx']) || isset($_POST['yyy'])) {
2. if (!empty($xxx) && !empty($yyy)) { //needs to be
if ( !empty($xxx)) || !empty($age) ) {
3. if ($query_run = mysql_query($query)) { //whats $query_run?
如果查询成功, mysql_query($query)
会返回TRUE
。请参阅manual