Php 无法将SQL插入到一个特定表中

Php 无法将SQL插入到一个特定表中,php,sql,insert,phpmyadmin,Php,Sql,Insert,Phpmyadmin,所以在过去的三个小时里,我一直在尝试将sql插入到这个特定的表中,我想我开始发疯了。我已经隔离了一些我认为可能是问题所在的事情,不过如果你想了解更多信息,请随时询问 实际上,我目前有两个sql表:concepts和FUideas(我对此感到非常失望),它们存储在同一个数据库中。当我运行以下代码时: $con = mysql_connect('localhost', 'username', 'password'); mysql_select_db("my_db", $con); $sql = "I

所以在过去的三个小时里,我一直在尝试将sql插入到这个特定的表中,我想我开始发疯了。我已经隔离了一些我认为可能是问题所在的事情,不过如果你想了解更多信息,请随时询问

实际上,我目前有两个sql表:
concepts
FUideas
(我对此感到非常失望),它们存储在同一个数据库中。当我运行以下代码时:

$con = mysql_connect('localhost', 'username', 'password');
mysql_select_db("my_db", $con);
$sql = "INSERT INTO `concepts` (description) VALUES ('HAI THAR')";
mysql_query($sql,$con);
它在概念中插入一行,但当我运行此代码时:

$con = mysql_connect('localhost', 'username', 'password');
mysql_select_db("my_db", $con);
$sql = "INSERT INTO `FUideas` (description) VALUES ('HAI THAR')";
mysql_query($sql,$con);
它什么也不做。为了进一步搞乱你的脑袋:如果你在phpMyAdmin选项卡中执行这个命令:

INSERT INTO `FUideas` (description) VALUES ('HAI THAR')
它可以工作

请问您有什么想法、代码、黑客吗?我绝望了!如果您有任何预感或线索,请告诉我,我将尝试并报告结果

编辑 如何创建表的PHP Myadmin转储:


最后更新 对于其他研究这个问题的人来说,我发现我在运行旧代码的同时产生了错误和不一致性。

试试看

$sql = "INSERT INTO `FUideas` (`description`) VALUES ('HAI THAR')";

如果这不起作用,那么我会问,在您创建表的SQL中,为什么会引用
user
date
,而其他字段却没有引用?

因为它是一个管理员,我猜您在连接中使用的用户名对FUIdeas表没有插入权限。

尝试以下操作:

mysql_query($sql,$con) or die(mysql_error());

如果查询有问题(语法错误或密钥冲突等),则die()调用将弹出描述问题的错误消息。

我不太确定,但可能保留了描述,请重试

$con = mysql_connect('localhost', 'username', 'password');
mysql_select_db("my_db", $con);
$sql = "INSERT INTO `FUideas` (`description`) VALUES ('HAI THAR')";
mysql_query($sql,$con) or die(mysql_error());
我想如果第一个有效的话那就没什么意义了


两个实例的my_db是否相同?

您正在尝试插入单个值:

$sql=“插入到
概念中
(说明)价值(“海塔尔”)”

虽然您的表中有许多字段是
notnull
。您必须用一条insert语句至少填写所有必填字段。
顺便说一句,如果传递的DDL为实DDL,则第一个“工作”表达式也无法工作。

您能看到SQL错误吗?我看不到您的第一个查询是如何工作的,因为您有一堆没有默认值的非空列。

我也看不到您的第一个语句是如何工作的。您有多个NOTNULL列,但只在1中插入。您可以使用mysql_error([resource$link_identifier])查看数据库中的最后一个错误。您好@Ash,欢迎使用mysql。。。那个叫做数据库引擎的“东西”,总是插入默认值:“varchar和text为”“0000-00-00,date为0000,integer为0,等等…@doctore-好吧,很公平,我只使用了MSSQL。你能告诉我指定
NOT NULL
的意义吗?@Ash这样如果它没有定义,它将返回0或“”而不是NULL
description
在mysql中不是保留字,所以它周围的反勾号是不必要的。是的,我想到了这一点,但它没有改变任何东西:(因为description在mysql中不是一个保留字。谢谢你的猜测。这一定是一个priviledge问题。我用上面的
SQL
创建了他的表,并运行了查询,结果没有问题。好的,我们刚刚输入了。我这么做了,它告诉我我没有选择数据库……哎哟。所以我选择了正确的数据库和它的工作…为什么它仍然能够插入到
概念
如果我选择了错误的数据库?把
或死(…)
放在mysql\u select\u db()之后调用。一般来说,检查数据库调用的返回值总是一个好主意-假设查询/调用成功是一个糟糕的做法。即使sql查询语法非常完美,查询也有太多其他方法无法检查返回值。等等,第一种方法也不起作用,好吧,我只是疯了:)
mysql_query($sql,$con) or die(mysql_error());
$con = mysql_connect('localhost', 'username', 'password');
mysql_select_db("my_db", $con);
$sql = "INSERT INTO `FUideas` (`description`) VALUES ('HAI THAR')";
mysql_query($sql,$con) or die(mysql_error());