php - PHP "Get"数据库未更新

标签 php mysql

我有一个页面查询,会将表设置为 0 或 1。设置为 1 有效,但不会设置回 0。这是到目前为止的代码片段。谁能看出出了什么问题吗?

页面:

<p><? if($_SESSION['user_level'] >= GUARDIAN_LEVEL) { if ($row_settings['profile_list'] == 0) {?> 
                    <a onclick='$.get("dos.php",{ cmd: "sprofile", setp:$("1").val(),id: "<?php echo $row_settings['id']; ?>" } ,function(data){ $("#msgp").html(data); });' href="javascript:void(0);">List</a>
                <?php } else if ($row_settings['profile_list'] == 1) {?>
                    <a onclick='$.get("dos.php",{ cmd: "sprofile", setp:$("0").val(),id: "<?php echo $row_settings['id']; ?>" } ,function(data){ $("#msgp").html(data); });' href="javascript:void(0);">Unlist</a>
                <?php } else {echo "N/A";}} else {echo "N/A";} ?></p>

更新代码:

if($get['cmd'] == 'sprofile')
{
mysql_query("update users set profile_list='$get[setp]' where id='$get[id]'");
echo "Profile Listing Changed";
//header("Location: $ret");  
// exit();
}

编辑

更新代码:

if($_GET['cmd'] == 'sprofile')
{
$set = mysql_real_escape_string($_GET['setp']);
$id = mysql_real_escape_string($_GET['id']);
mysql_query("update users set profile_list='" . $set . "' where id='" . $id . "'");
echo "Profile Listing Changed";
//header("Location: $ret");  
// exit();
}

这会将其设置为 0 并显示正确的代码,但由于某种原因不会设置回 1。

最佳答案

它是 $_GET 而不是 $get

请至少使用

$param = mysql_real_escape_string($_GET['your_param_which_goes_to_building_mysql_query']);
$param2 = //similar..
$query = "update users set profile_list='$param1' where id='$param2'"

或者更好的是,使用 prepared statements.

关于php - PHP "Get"数据库未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11204199/

相关文章:

php - HTTP Post 到 PHP 文件以查询数据库并根据查询返回数组。 swift

php - Mysql累计行数和按日期分组

mysql - 如何在GORM上使用mysql Union All?

php - AJAX sendlike.php 喜欢和不喜欢 PHP 和 mysql

mysql死锁解决方案~

php - 根据条件更改表格行

php - 带有命名空间的小型 PHP MVC 框架

php - 赋予网页地址属性

php - 将错误添加到 pdo_error.ctp

php - session 变量未存储在其他页面上