我是MySQL的初学者,我正在尝试在我的数据库中输入一些值。该数据库已经制作完成并且基于localy。
我有一个名为'test'的Schema,在模式中我有一个名为'contacts'的表。在联系人中,我有一个id,名字和姓氏。
所以我试图在联系人中输入一些数据。这是我的php文件:
<?
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '*******'; // root pass
$db_database = 'contacts';
$link = @mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_database,$link);
$query = "INSERT INTO contacts VALUES ('','John','Smith')";
mysql_query($query);
mysql_close();
?>
当我在浏览器上运行文件时,我的数据库没有获取任何值。 如何执行该文件以便将John Smith添加到我的数据库中?
答案 0 :(得分:4)
您的php文件必须以<?php
开头,而不是<?
。
试试这个:
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '*******'; // root pass
$db_database = 'contacts';
$link = @mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_database,$link);
$query = "INSERT INTO contacts VALUES ('','John','Smith')";
mysql_query($query);
mysql_close();
?>
答案 1 :(得分:1)
更改
mysql_query($query);
到
mysql_query($query) or trigger_error(mysql_error() . $query);
然后所有人都会被揭露。
答案 2 :(得分:0)
首先你桌子的结构如何?如果表上只有2个字段,则表示错误,请尝试发布控制台返回给您的错误。
$query = "INSERT INTO contacts (first,last) VALUES ('John', 'Smith')";
$e=mysql_fetch_assoc($query);
也不要忘记你的表结构对字段id说不为null,默认值为null,所以它不会接受这种插入
答案 3 :(得分:0)
如果您知道字段名称,可以考虑尝试使用PHP ADODB并将AutoExecute与INSERT一起使用
$ DB-&GT;自动成交( '表名',阵列( 'field1的'=&GT; '值', 'FIELD2'=&GT; '值'));
也可用于更新:)
答案 4 :(得分:-1)
您的ID可能是auto_increment,如果是,请在查询中添加属性顺序:
INSERT INTO contacts(`first_name`, `last_name`) VALUES ('John','Smith')
将first_name
和last_name
替换为您的真实列名。