【发布时间】:2015-08-30 20:16:05
【问题描述】:
因此尝试将一些来自 PHP 页面的数据插入到我的 SQL 数据库中。这个页面只能通过我自己访问,所以我不担心它被访问或 SQL 可注入等。我的问题是无论我使用什么代码它都不会进入数据库。我试过自己编写代码,使用模板代码,从 php.net 获取等等,都没有成功!
它现在用成功消息重定向我,但数据库中仍然没有任何内容。
代码将放在下面,出于隐私原因,我将编辑我的一些详细信息。
<?php
require connect.php
// If the values are posted, insert them into the database.
if (isset($_POST['username']) && isset($_POST['password'])){
$username = $_POST['username'];
$isadminB = $_POST['isadmin'];
$password = $_POST['password'];
$query = "INSERT INTO `users` (user_name, password, isadmin) VALUES ('$username', '$password', '$isadminB')";
$result = mysql_query($query);
if($result){
$msg = "User Created Successfully.";
}
}
$link = mysql_connect("localhost", "root", "password");
echo mysql_errno($link) . ": " . mysql_error($link). "\n";
echo mysql_errno($link) . ": " . mysql_error($link). "\n"; 是给我错误代码 0 的代码?
根据我上一页的表单代码请求。
<form action="account_create_submit.php" method="post">
Username: <input type="text" name="username" id="username"> <br /><br />
Password: <input type="password" name="password" id="password"> <br /><br />
<span id="isadmin">Is Admin: Yes<input type="radio" name="isadmin" id="1" value="1"> | No<input type="radio" name="isadmin" id="0" value="0"><br /></span>
<span id="submit"><input type="submit" value="Create Account"></span>
</form>
好的,因此更改了表单代码,因此方法现在是 POST。伟大的!所有数据都被正确读取,尽管这不是我的问题,因为即使输入要提交的代码的硬数据也不起作用,至少它已经解决了未来的问题。新的错误代码不再是 0 而是如下:
1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''user_name'、'password'、'isadmin') VALUES ('testZ'、'lol'、'1')' 附近使用正确的语法
连接.php
<?php
$connection = mysql_connect('localhost', 'root', 'password');
if (!$connection){
die("Database Connection Failed" . mysql_error());
}
$select_db = mysql_select_db('Default_DB');
if (!$select_db){
die("Database Selection Failed" . mysql_error());
}
【问题讨论】:
-
帮自己一个忙,迁移到 PDO,而不是使用 已弃用 mysql_* 函数。
-
请帮助解决手头的问题。我确信其他用户也可能在使用 MySQL 时遇到类似的问题。而不是仅仅说迁移到 PDO 为什么不提供帮助呢?或者更好地告诉我有关 PDO 的更多详细信息以及我将如何切换以及这将如何提供帮助?
-
布拉德,我会直截了当地说,但不要个人认为。这是一个糟糕的代码示例。您正在使用已弃用的功能;您以不安全的方式存储密码,您没有对数据进行验证。您在查询后连接到数据库。您的 $msg 价值无处可去。难怪你有问题。请修复此代码。
-
我并不是说他的代码写得很好,但 mysql 在当时是很好的。让我们停止说使用不推荐使用的函数是糟糕的代码。这就像说 1985-1995 年的计算机很糟糕,因为它们不如今天的计算机。
-
好的,所以我尝试使用 connection.php 让它工作,并尝试将其硬编码到页面本身中。似乎我越来越幸运硬编码。所以我猜connect.php有大部分问题。现在将添加到 OP @tllewellyn
标签: php mysql sql-insert insert-into