目前正在使用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);
?>
答案 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。 请改为了解准备好的陈述,并使用PDO或MySQLi。请参阅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");