我知道我会因为你使用mysql_**
而得到你们的支持但是我现在必须这样做,因为我已经远离了这个项目,我不能再回去重新开始了。所以请温柔。
无论如何,我不明白为什么我的更新表不起作用!!
这是代码:
<?php
$host="localhost"; // Host name
$username="mydetails"; // Mysql username
$password="XXXXXXX"; // Mysql password
$db_name="mydetails"; // Database name
$tbl_name="members"; // Table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get value of id that sent from address bar
$id=$_GET['id'];
// Delete data in mysql from row that has this id
$result = mysql_query ("UPDATE $tbl_name SET balance='$balance' WHERE id='$id'");
// if successfully deleted
if($result){
echo "The user has been banned successfully!";
echo "<BR>";
echo "<a href='suspend_users.php'>Back to main page</a>";
}
else {
echo "ERROR";
}
?>
<?php
// close connection
mysql_close();
?>
如果我删除$balance
并将''
清空或用文本或数字替换$balance
,则会在其中输入余额列,这意味着它可以正常工作并成功连接到数据库没有任何问题。但是当我说balance='$balance'
它根本不起作用时。
我的输入字段包含id="balance"
和name="balance"
,因此不会遗漏。
有人可以帮助我解决这个问题而不会让我使用mysql_*
吗?
谢谢
更新
我的表单代码:
<tr>
<td bgcolor="#FFFFFF"><? echo $rows['id']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['username']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['email']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['balance']; ?></td>
<td bgcolor="#FFFFFF"><input name="balance" type="text" id="balance" value="<? echo $rows['balance']; ?>" size="15"></td>
<td bgcolor="#FFFFFF"><a href="delete_ac.php?id=<? echo $rows['id']; ?>">Ban and Remove</a></td>
</tr>
答案 0 :(得分:0)
试试这个
$result = mysql_query ("UPDATE ". $tbl_name ." SET balance='".$balance."' WHERE id='".$id."'");
答案 1 :(得分:0)
使用变量名称无法访问表单的值,它们存储在全局数组$ _GET或$ _POST中(取决于您在表单中使用的方法)。你可以试试这个:
// get value of id that sent from address bar
$id=$_GET['id'];
//get value of balance. i am supposing you have used get method in your form
$balance = $_GET['balance'];
// Delete data in mysql from row that has this id
$result = mysql_query ("UPDATE $tbl_name SET balance='$balance' WHERE id='$id'");
答案 2 :(得分:-1)
只需将$tbl_name
放在引号中,例如'$tbl_name'
答案 3 :(得分:-1)
$balance
永远不会在您的代码中设置。
尝试添加$balance = $_POST['balance']
,
或者,如果表单method="get"
使用$balance = $_GET['balance']
。