我正在尝试学习mysql,并且在向表中更新/添加数据时遇到一些问题
这是我的代码,在运行此页面后,当我转到phpmyadmin查看新数据是否显示时,我看不到它。
<?php
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(!$conn) { die("Could not connect"); }
$dbname = "test";
mysql_select_db($dbname, $conn);
mysql_query("INSERT INTO 'test'.'table1'
('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8')
VALUES
('test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8')");
mysql_close($conn);
?>
有谁能告诉我这有什么不对吗?
答案 0 :(得分:2)
请务必进行错误检查以查看mysql连接是否也遇到问题:
if(!mysql_select_db($dbname, $conn)) {
echo mysql_error($conn);
}else {
if(!mysql_query("INSERT INTO 'test'.'table1' ('A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8') VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8')")) {
echo mysql_error($conn);
}
}
答案 1 :(得分:2)
问题是字段名称周围的引号。 MySQL不允许使用单引号字段名称。它们必须是裸(A1)或反引号('A1`),因此您的查询应该重写为:
INSERT INTO table1 (A1, A2, A3, A4, A5, A6, A7, A8)
VALUES ('test1', 'test2', 'test3', 'test4', etc.....);
答案 2 :(得分:0)
首先,确保数据库被选中:
mysql_select_db($dbname, $conn) or die('Could not select the database');
您的查询可能存在一些错误,这是未添加数据的原因,请尝试在此or die(mysql_error())
函数后添加mysql_query
以查看可能的错误:
mysql_query("your query....") or die(mysql_error());
也无需指定数据库名称:
'test'.'table1'
在查询中使用table1
。
启用错误报告也非常有用:
ini_set('display_errors', true);
error_reporting(E_ALL);
答案 3 :(得分:0)
以下是使用MYSQL(或任何SQL DB)时的一般提示。如果你不知道该怎么做,或者你弄错了。使用为您提供的GUI工具来完成工作,然后检查生成的代码。
输入PHPMyAdmin,执行插入操作,然后复制并粘贴代码以查看您的错误。