【发布时间】:2013-06-21 08:52:04
【问题描述】:
我在数据库 mshop2 中有一个名为 userdb 的表。它有列:
- 身份证
- 姓名
- 用户名
- 密码
- 电子邮件
我的js文件里面存储了所有的函数名为mshop2.script,我的deleteUser函数也存储在这里,它会跳转到一个名为deleteUser.php的文件
我希望运行代码的 php 文件是 admin.php,其中写有这些:
<font color="white">Deletion - ID</font>
<input class="test1" type="text" id="txUserid" value="">
<input class="test2" name="Submit" type="submit" value="" id="submit"
onClick='deleteUser();txUserid.value="";'/>
“输入类”单词只是根据我的 css 文件匹配图像文件夹,以显示我希望在单击它时运行代码的图像,所以不要介意。 我在 .php 文件的头部包含了这些行:
<script src='jquery.js'></script>
<script src='mshop2.script.js'></script>
我已经在我的 mshop2.script.js 文件中写了这个:
function deleteUser(){
var userid = $('#txUserid').val();
var finalData = {
uid: userid
};
$.post('deleteUser.php', finalData, function(resp){
if(resp == 'success'){
alert('User successfully deleted.');
getUserList();
}
});
}
这是我的 deleteUser.php 文件的内容:
<?php
include 'config.php';
$id = mysql_real_escape_string($_POST["userid"]);
$q = "DELETE FROM userdb WHERE ID = '$uid'";
if(!mysql_query($q, $con)){
die('Error: ' . mysql_error());
echo mysql_error();
}else{
echo 'success';
}
mysql_close($con);
?>
什么都没有发生,如果我在文本框中输入“1”或从 1 到 5 的任何数字,我在数据库中的表中与我输入的相同 ID 的匹配行将不会被删除。
我的代码有什么问题?
【问题讨论】:
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial.
标签: php javascript localhost