4

我正在尝试学习 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);

?>

谁能告诉我这有什么问题?

4

4 回答 4

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);
   } 
}
于 2010-08-18T00:42:47.317 回答
2

问题是字段名称周围的引号。MySQL 不允许使用单引号的字段名称。它们要么必须是裸的 (A1),要么必须在反引号内 (`A1`),因此您的查询应该重写为:

INSERT INTO table1 (A1, A2, A3, A4, A5, A6, A7, A8)
VALUES ('test1', 'test2', 'test3', 'test4', etc.....);
于 2010-08-18T03:54:16.980 回答
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);
于 2010-08-18T00:41:46.493 回答
0

在使用 MYSQL(或任何 SQL DB)时,这是给您的一般提示。如果您不知道如何做某事,或者您做错了事。使用为您提供的 GUI 工具来完成这项工作,然后检查生成的代码。

输入 PHPMyAdmin,进行插入,然后复制粘贴代码,看看你做错了什么。

于 2010-08-18T00:42:19.533 回答