Php 插入到数据库表中,表单不工作。SQL
让我们直奔我的问题,我在这里写的代码没有写入我的数据库,我无法找出原因。目前,我只是简单地尝试掌握php和sql,因此除了学习之外,这种形式没有任何意义。下面是我得到的错误(第一句“连接到数据库”来自我的if语句): “连接到数据库错误:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第1行“test”('name')值('daniel')”附近使用的正确语法” 我的代码看起来可能有点混乱,因为有些代码来自w3schools,有些代码来自朋友。我不明白为什么这段代码不起作用,我在网上和stackoverflow上找到的大量文章的基础上尝试了许多语法变体,但似乎都不起作用。我担心我甚至没有连接到数据库,尽管我的if语句告诉我不是这样,所以这可能是个问题 希望如果这个问题得到解决,这个问题将澄清数据库连接和从表单一次性写入数据库。提前谢谢各位,这是我的密码 HTMLPhp 插入到数据库表中,表单不工作。SQL,php,sql,database,Php,Sql,Database,让我们直奔我的问题,我在这里写的代码没有写入我的数据库,我无法找出原因。目前,我只是简单地尝试掌握php和sql,因此除了学习之外,这种形式没有任何意义。下面是我得到的错误(第一句“连接到数据库”来自我的if语句): “连接到数据库错误:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第1行“test”('name')值('daniel')”附近使用的正确语法” 我的代码看起来可能有点混乱,因为有些代码来自w3schools,有些代码来自朋友。我不明白为什么这段代码不起作
姓名:
PHP(insert.PHP)
在表名周围删除引号,或将其更改为反勾号:
更改:
$sql="INSERT INTO 'test' ('name') VALUES ('$_POST[namefield]')";
致:
或
在引用表/列名时,请尝试使用“而不是”
$sql="INSERT INTO `test` (`name`)
VALUES ('$_POST[namefield]')";
删除sql语句周围的单引号并替换为反引号(甚至不确定它们是否必要):
将表名和列名周围的单引号更改为反勾号。或者把它们一起扔掉
$sql="INSERT INTO `test` (`name`) VALUES ('{$_POST['namefield']}')";
另外,在不使用{}
语法或拆分字符串的情况下,不要直接在字符串中引用关联数组($\u POST
)-您在那里所做的会发出E\u通知,应该避免
彻底-你会惊讶于你能(和不能)合法地在PHP字符串中做什么…通常最好使用backticks for MySQL,就像任何其他存储引擎一样,它有自己的保留名称和保留插入做法
试一试
$sql = "INSERT INTO `test` (`name`) VALUES ('".$_POST['namefield']."')";
或者使用正确的引号``——实际上是反勾号。所以使用它们进行代码升级,所以无法显示它是如何工作的:)完美就像一个魅力,非常感谢,伙计。虽然我现在确实有一个问题,但我的键盘上没有反勾号,我想这是因为我使用的是英国键盘。有人知道怎么避开这件事吗?或者在我的键盘上找到它们的快捷方式?“我的英国键盘在左上角的escape键下方,tab键上方,数字“1”的左侧有回音。啊,谢谢你,我找到了。这是一个宝贵的半小时。谢谢你的帮助,伙计。
$sql="INSERT INTO `test` ('name') VALUES ('$_POST[namefield]')";
$sql="INSERT INTO `test` (`name`)
VALUES ('$_POST[namefield]')";
$sql="INSERT INTO `test` ('name')
VALUES ('$_POST[namefield]')";
$sql="INSERT INTO `test` (`name`) VALUES ('{$_POST['namefield']}')";
$sql = "INSERT INTO `test` (`name`) VALUES ('".$_POST['namefield']."')";