PHP/mysql 插入

标签 php mysql insert

我想将一些值插入到 mysql 数据库中,并且认为这并不难。 然而我错了,也许我忽略了一些简单的事情。

这是我的代码:

$db = mysqli_connect("localhost", "*****", "*********", "usr_web633_3");
if(!$db)
{
  exit("Error: ".mysqli_connect_error());
}

$sql = "INSERT INTO anmeldungen ('ID', 'vorname', 'name', 'gender', 'str', 'hausnummer', 'telefon', 'gemeinde', 'vegetarier'')
VALUES ('id', 'vorname', 'name', 'gender', 'str', 'hausnummer', 'telefon', 'gemeinde', 'vegetarier')";

$sqlinsert = mysqli_query($db, $sql); 

if($sqlinsert == true) { 
    echo "works!"; 
} 
else { 
    echo "doesn't work:(";
}

它没有像它应该的那样工作......这些值只是占位符。

希望能帮到你!

最佳答案

用反引号转义列和表名称。

INSERT INTO `anmeldungen` (`ID`, vorname, name, gender, str, hausnummer, telefon, gemeinde, vegetarier)
VALUES (1, 'vorname', 'name', 'gender', 'str', 'hausnummer', 'telefon', 'gemeinde', 'vegetarier')

并且您在最后一个列名称中引用了太多内容。请改用单个反引号。但其实你只需要逃避reserved words in MySQL

并注意您的列数据类型。您无法将字符串插入数字列。所以 id 可能只能是一个数字。

如果您的 id 是自动递增值,那么您根本不应该提供值。使用 null 或从插入语句中完全保留该列。

INSERT INTO `anmeldungen` (`ID`, vorname, ...
VALUES (null, 'vorname', ...

关于PHP/mysql 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25325029/

相关文章:

php - 如何从数据库中获取数据并将其显示在自定义 pdf 文件中

php - MySQL 的 undefined variable 错误

javascript - 如何根据特定条件向表中插入数据

php - 一个查询插入多行多列

visual-studio-2010 - 插入查询(MS Access)中发生语法错误

php - CSV 只导入一定数量然后超过数据进入另一个表

php - 选择一组具有特定记录数据的行

php - PHP foreach 循环在重叠日期时间上出现问题

mysql - 将 MySQL 导入 Postgres。权限问题

php - mysql 查询没有收到正确的响应...或者其他什么