【发布时间】:2013-12-10 17:13:12
【问题描述】:
我的 php 页面上不断出现错误。当我提交表单时,它说我没有权限查看 php 页面,当我将它放入 sql 查询测试时,它说它是错误 #1064。我不断收到此错误消息,我不知道为什么。在查询测试中,我只将信息放在 .有人可以帮忙解决这个问题吗?
<html>
<head>
<meta charset="utf-8">
<title>Enquiry</title>
</head>
<body>
<?php
$name=$_POST['name'];
$email=$_POST['email'];
$phone = $_POST['phone'];
$radio = $_POST['radio'];
$enquiry = $_POST['enquiry'];
$user="root";
$password="";
$database="test";
mysql_connect('localhost',$user,$password) or die("Unable to connect to server");
mysql_select_db($database) or die("Unable to select database");
$query = "INSERT INTO Enquiry VALUES ('','$name','$email','$phone','$radio','$enquiry')";
mysql_query($query);
mysql_close();
?>
</body>
</html>
【问题讨论】:
-
你能发布完整的错误信息吗?它会告诉你到底发生了什么。顺便问一下,如果您收到奥康纳先生的询问,您知道会发生什么吗?
-
旁注:请考虑升级到 mysqli,因为不再支持 mysql,并查看 SQL 注入
-
仅供参考,您也对SQL injections保持开放态度
-
SQL 查询:$name = $_POST['name']; MySQL 说:文档 #1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '$name=$_POST['name']' 附近使用正确的语法 这是来自查询测试的错误消息。而且现在安全性不是什么大问题,我只需要数据库来为一个 uni 项目工作。
-
请,在您编写任何更多的 SQL 接口代码之前,您必须阅读 proper SQL escaping 以避免严重的 SQL injection bugs。此外,
mysql_query不应在新应用程序中使用。这是一个已弃用的接口,已从 PHP 的未来版本中删除。像PDO is not hard to learn 这样的现代替代品。 PHP The Right Way 之类的指南将帮助您避免犯此类错误。
标签: php mysql mysql-error-1064 database-table