0
我在使用PDO过程在我的mysql表中更新状态行时遇到了麻烦。状态行在表中定义为0,所以我希望它在每次点击确认按钮时都变为1,但它不能,我一直试图修复它,但是我不能。我无法使用PDO过程在我的数据中更新状态行
这里是
<?php
class Database
{
private $host = "localhost";
private $db_name = "jerrydb";
private $username = "root";
private $password = "";
public $conn;
public function dbConnection()
{
$this->conn = null;
try
{
$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $exception)
{
echo "Connection error: " . $exception->getMessage();
}
return $this->conn;
}
}
?>
这里是我的剧本,我想确认消失每当我点击它,并在同一时间的变化状态行1
<?php
if (isset($_GET['entity']) && isset ($_GET['action']) && isset($_GET['user_id'])){
$entity = mysqli_real_escape_string($db, $_GET['entity']);
$action = mysqli_real_escape_string($db, $_GET['action']);
$user_id = mysqli_real_escape_string($db, $_GET['user_id']);
$query = "UPDATE jerrydb set status = '1' WHERE user_id='$user_id'";
$db->query($query);
}
$query = "SELECT * FROM jerrydb WHERE status='0' ORDER BY user_id DESC";
$jerrydb = $db->query($query);
?>
<?php if($row = $jerrydb->fetch_assoc()) { ?>
<tr>
<td><a href="index.php?entity=go&action=approve&id=<?php echo $row['id'];?>" class="btn btn-success">Confirm</a> </td>
</tr>
<?php } ?>
我的数据库连接
我已经看到SQL注入的所有问题的答案,我无法弄清楚,我会很高兴如果我的代码将被修改。我是网络开发新手。谢谢 – Joe
[YCS](http://stackoverflow.com/users/285587/your-common-sense)用错误的链接关闭了另一个问题。这与sql注入没有任何关系,但是混合了不同的mysql apis并且没有使用正确的连接变量。这个人什么时候会学习?我重新提出了这个问题。 –
如果使用pdo,则需要使用bindParam并执行步骤。不建议直接运行查询。你可以发布你的更新的var_dump($ query)的结果,这样你就可以知道生成了什么查询。 –