从PHP脚本添加到SQL数据库。没有错误,看起来很成功,但没有插入

时间:2013-06-07 01:20:17

标签: php mysql

目前正在使用php脚本和sql数据库。一切似乎都工作正常,即使最后回复用户名,它似乎也是成功的。当进一步查看数据库中的插入时,未插入行。没有错误消息,insert语句完全反映了列...有什么想法吗?

<?php
$db_name = "animator"; // Database name
$link = mysql_connect('localhost', 'root', 'admin');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db($db_name) or die("Could not connect to Database" .mysql_error());

$username  = $_POST['fname'];
$passwords = $_POST['pass'];
$email     = $_POST['email'];

mysql_query($link,"INSERT INTO 'account'('username', 'passwords', 'email') VALUES 
($username , $passwords , $email)");

mysql_close($link);
?>

*** 更新 * *** < /强> 非常感谢大家的回应。我终于能够使用我找到的另一种技术了。

<?php
error_reporting(E_ALL);
ini_set('display_errors',"On");
$db_name = "animator"; // Database name
$link = mysql_connect('localhost', 'root', 'admin');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
//echo 'Connected successfully';
mysql_select_db($db_name) or die("Could not connect to Database" .mysql_error());

$username = $_POST['fname'];
$passwords = $_POST['pass'];
$email = $_POST['email'];

$query =  "INSERT INTO account (username, passwords, email) VALUES ('$username', 
'$passwords', '$email')";
$result = mysql_query($query);
echo $username;
mysql_close($link);
?>

3 个答案:

答案 0 :(得分:1)

尝试删除帐户周围的报价或使用`around account

答案 1 :(得分:1)

引用是字符串;反引号用于表和列名转义

mysql_query("INSERT INTO account (username, passwords, email) 
VALUES ('$username', '$passwords', '$email')", $link);

因此,请从表名和列名中删除引号,并将它们添加到值中。

don't use mysql_* functions in new code。 它们不再被维护,而是officially deprecated。 请改为了解准备好的陈述,并使用PDOMySQLi。请参阅this article以快速了解如何操作以及它为何如此重要。

答案 2 :(得分:0)

两件事......

首先,你不应该使用PHP的mysql进行新的开发...认真阅读MySQLi! (另外,一篇适合初学者的博文:http://codular.com/php-mysqli

其次,如果您必须使用mysql,并且如果PHP没有返回任何错误,您可以使用mysql_error()来诊断问题。

P.S。使用以下命令检查PHP错误:

error_reporting(E_ALL);
ini_set('display_errors',"On");