PHP,在执行INSERT into database.table时获取空白站点
我只想说,很可能这里的事情会相当简单 我在一个网站上工作,用户基本上用一些数据填写表单,这些数据在提交时被发送(GET)到另一个php页面,该页面的标题下包含我的db连接脚本,然后以插入的形式执行SQL查询。这一页只显示在空白处。我有一些html元素,如果没有mysql_error()应该会显示出来 这是页面的外观,我做错了什么PHP,在执行INSERT into database.table时获取空白站点,php,insert,Php,Insert,我只想说,很可能这里的事情会相当简单 我在一个网站上工作,用户基本上用一些数据填写表单,这些数据在提交时被发送(GET)到另一个php页面,该页面的标题下包含我的db连接脚本,然后以插入的形式执行SQL查询。这一页只显示在空白处。我有一些html元素,如果没有mysql_error()应该会显示出来 这是页面的外观,我做错了什么 <?php
<?php
include '/partials/header.php';
include '/functions/db_connection.php';
if(isset($_POST['value0'])) {
$value0 = mysql_real_escape_string($_POST["value0"]);
$value1 = mysql_real_escape_string($_POST["value1"]);
$value2 = mysql_real_escape_string($_POST["value2"]);
$value3 = mysql_real_escape_string($_POST["value3"]);
$value4 = mysql_real_escape_string($_POST["value4"]);
$value5 = date("d-m-Y");
$query = "INSERT INTO db.my_table(value0, value1, value2, value3, value4, value5, value6, value7)
VALUES ('. $value0 .',
'. $value1 .',
'. $value2 .',
'. $value3 .',
'. $value4 .',
'. $value5 .',
'enum-value',
'. $value7 .');";
$result = mysql_query($query);
if(!$result)
{
//something went wrong, display the error
echo 'Congratulations, something went wrong. You are officially retarded.<br /><br />' . mysql_error();
$sql = "ROLLBACK;";
$result = mysql_query($sql);
}
else
{
$sql = "COMMIT;";
$result = mysql_query($sql);
?>
<div class="box">
<h1 class="green">That's it!</h1>
<p>Let's do some more novice php scripting.</p>
</div>
<?php
}
}
?>
您的字符串上有错误的引用或至少是错误的连接
$query = "INSERT INTO yada yada
VALUES ('. $value0 .',
^---
您已经启动了一个双引号字符串,因此不需要将变量“连接”到字符串中。e、 g.$x=“你好,$Where are you”
可以正常工作。因此,要么切换到双引号:
VALUES ('" . $value0 . "' ...
^-- ^--
或者干脆消除连接的尝试:
VALUES('$value0', ....
更改这段代码
$query = "INSERT INTO db.my_table(value0, value1, value2, value3, value4, value5, value6, value7)
VALUES ('. $value0 .',
'. $value1 .',
'. $value2 .',
'. $value3 .',
'. $value4 .',
'. $value5 .',
'enum-value',
'. $value7 .');";
对这个
$query = "INSERT INTO db.my_table(value0, value1, value2, value3, value4, value5, value6, value7)
VALUES ('. $value0 .',
'. $value1 .',
'. $value2 .',
'. $value3 .',
'. $value4 .',
'. $value5 .',
'enum-value',
'. $value7 .')";
在查询中引用错误。见上文。您应该使用“.”进入变量领域,而不是“.”当您的字符串开始使用“时,您使用的是mysql\u connect
,然后是mysqli\u connect\u errno
-您不能将mysql\u*与mysqli\u*像那样混合使用。它们不再被维护。请参阅?了解,然后使用或-将帮助您决定使用哪一个。如果您选择PDO,。添加错误报告(E\u ALL);以及ini\u集(“显示错误”,true);在下面的“不要以冒号;
什么@exampleusername说的话结束sql查询……或者查看php错误日志文件中的错误开始出现。谢谢大家,我意识到我有一些关于php版本和新的做事方法的概述。谢谢您的快速答复!
$query = "INSERT INTO db.my_table(value0, value1, value2, value3, value4, value5, value6, value7)
VALUES ('. $value0 .',
'. $value1 .',
'. $value2 .',
'. $value3 .',
'. $value4 .',
'. $value5 .',
'enum-value',
'. $value7 .')";
$query = "INSERT INTO db.my_table(value0, value1, value2, value3, value4, value5, value6, value7)
VALUES ('". $value0 ."',
'". $value1 ."',
'". $value2 ."',
'". $value3 ."',
'". $value4 ."',
'". $value5 ."',
'enum-value',
'". $value7 ."')";