无法从使用WAMP的php脚本插入数据库
我正在尝试从php脚本将数据插入MySQL数据库。我正在使用WAMP。当通过phpmyadmin插入数据时,一切正常,数据也可以显示在网页上,但当试图通过php脚本手动插入数据时,什么都没有发生(我这样做是为了测试,我的目标是从Arduino将数据加载到服务器)。代码如下:无法从使用WAMP的php脚本插入数据库,php,mysql,Php,Mysql,我正在尝试从php脚本将数据插入MySQL数据库。我正在使用WAMP。当通过phpmyadmin插入数据时,一切正常,数据也可以显示在网页上,但当试图通过php脚本手动插入数据时,什么都没有发生(我这样做是为了测试,我的目标是从Arduino将数据加载到服务器)。代码如下: <?php $link=mysqli_connect("localhost", "root", "", "database"); if (mysqli_connect_errno()) {
<?php
$link=mysqli_connect("localhost", "root", "", "database");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$temp="";
$hum="";
if(isset($_POST["temp1"])){ $temp = $_POST["temp1"];}
if(isset($_POST["hum1"])){ $hum = $_POST["hum1"];}
$safetemp1= mysqli_real_escape_string($link, $temp);
$safehum1= mysqli_real_escape_string($link, $hum);
$query = "INSERT INTO tempLog (temperature, humidity)
VALUES (10, 10)";
$result = mysqli_query($link,$query);
if (!$result) {
die("Nothing was inserted, something went wrong.");
}
mysqli_close($link);
header("Location: indexx.php")
试试看是否有错误,可能是您拼错了行或表名
echo(“错误描述:.mysqli_错误($link))代码>
我看不出这怎么会失败。但是,我会检查您的HTML表单,在我看来,这似乎是您不显示的最可能的原因和代码。但是,请确保这些列是int而不是varchar。我也不知道为什么要使用POST数组,但使用10作为值。检查错误将确定这一点,而您没有这样做。您的标题(“Location:indexx.php”)也缺少一个分号。
您的php环境是否设置为显示错误?你检查过你的错误日志了吗?当运行代码时,结果是“没有插入任何内容,有问题”。这里。。。在打开PHP标记后立即将错误报告添加到文件顶部,例如尝试打印$query变量并从phpMyAdmin执行它。这行吗?评论中已经提到了错误检查。这更像是开门见山地回答。我知道这个问题。我的第一列是timestamp,它记录了插入数据的实时时间,所以我不知道为什么只显示零。同样,它是自动递增的,所以我认为如果我没有在查询中包含它也没关系phpmyadmin@MoloiMokete您可以将该字段的默认值(使用PhpMyAdmin)设置为“更新当前\u时间戳”,或者您可以向时间戳字段传递一个函数以放置当前时间<代码>插入tempLog(时间戳、温度、湿度)值(现在()、10、10)
。我建议设置默认值,这样您就不必担心每次都通过NOW()
。关于自动递增字段,您是正确的,无需将其放入插入查询。@Lin Meyer我尝试了这两种解决方案,它们都很好。感谢所有花时间帮助我的人。下次是Cheeeers。
$link=mysqli_connect("localhost", "root", "", "database");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$temp="";
$hum="";
if(isset($_POST["temp1"])){ $temp = $_POST["temp1"];}
if(isset($_POST["hum1"])){ $hum = $_POST["hum1"];}
$safetemp1= mysqli_real_escape_string($link, $temp);
$safehum1= mysqli_real_escape_string($link, $hum);
$query = "INSERT INTO tempLog (temperature, humidity)
VALUES (10, 10)";
$result = mysqli_query($link,$query);
if (!$result) {
echo("Error description: " . mysqli_error($link));
die("Nothing was inserted, something went wrong.");
}
mysqli_close($link);
header("Location: indexx.php")