【问题标题】:PHP insert into script returns 0PHP插入脚本返回0
【发布时间】:2014-05-01 09:14:23
【问题描述】:

这是我使用 PHP 和 MySQL 的第二天。

我有一个问题。我试图在我的数据库中创建一个新数据,但我唯一得到的是第一个字段中的 0。(数字)

 <?php
$con=mysqli_connect("127.0.0.1","root","","aufgabe");
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$nummer = mysqli_real_escape_string($con, $_POST['nummer']);
$vorname = mysqli_real_escape_string($con, $_POST['vorname']);


$sql="INSERT INTO kontakte (nummer,vorname)
VALUES ('$nummer','$vorname')";

if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?>

你能帮我解决这个问题吗?我现在知道为什么 nummer 结果为 0 而 vorname 什么都没有。

我知道我的脚本中的安全性较低,但这仅用于学校目的。

【问题讨论】:

  • 您的脚本实际上是相当安全的,因为您正确地转义了您的输入。有些人会告诉您使用准备好的语句,但作为普通旧 mysql_* 函数的长期用户,我会告诉您,只要您注意自己在做什么?使用任何有效的方法!
  • 非常感谢!我实际上只是想了解 php 和 mysql,因为我需要解决一个练习才能获得学徒。唯一的问题是我在高中之前从未见过 php 和 mysql,这真的很令人沮丧。 :D

标签: php insert insert-into


【解决方案1】:

检查isset($_POST['nummer']) &amp;&amp; isset($_POST['vorname']) == truevar_dump是否有两个变量,看看它们有什么内容。

【讨论】:

  • 旁白:if( isset($_POST['nummer'],$_POST['vorname'])) 也可以;)
  • 我在脚本中添加了if( isset($_POST['nummer'],$_POST['vorname'])),与前一个错误的唯一区别是第 17 行的“Warning: mysqli_query(): Empty query in C:\xampp\htdocs\testinsert.php ”。我做对了吗?我的脚本没有向数据库发送任何信息?
  • @user3592201 你可能忘了把{...} 放在你的SQL 东西周围——我猜你只是将if 语句“应用”到$sql = ... 行,这导致它不是已定义但仍试图运行。
  • 其实这是我的新代码if( isset($_POST['nummer'],$_POST['vorname'])) { $sql="INSERT INTO kontakte (nummer,vorname) VALUES ('$nummer','$vorname')"; }else{ if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); } echo "1 record added"; mysqli_close($con); } ofc。不是全部,而是插入部分
猜你喜欢
  • 2012-03-27
  • 2019-10-11
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 2015-10-18
相关资源
最近更新 更多