所以我试图通过抓取被点击的链接并在数据库中找到该链接来使用ajax更新我的sql数据库中的值。我不确定它为什么不起作用:\
$('.visit').click( function() {
var thisLink = $(this).attr('href');
$.post("visit.php", { link: thisLink});
});
<?php
$link = $_POST['link'];
mysql_query("UPDATE items SET visited = 1 WHERE link = $link");
include("print.php");
?>
答案 0 :(得分:2)
为防止SQL注入使用类似下面的内容(从内存中键入...双重检查)。
<?php
$db = new PDO('connection string', 'username', 'password');
$query = "UPDATE items SET visited=1 WHERE link=:link";
$stmt = $db->prepare($query);
$stmt->execute(array(':link' => $link));
?>
鲍勃
答案 1 :(得分:2)
$('.visit').click( function() {
var thisLink = $(this).attr('href');
$.post("visit.php", { link: thisLink});
});
<?php
$link = $_POST['link'];
mysql_query("UPDATE items SET visited = '1' WHERE link = '".mysql_real_escape_string($link)."'");
include("print.php");
?>
在SET和WHERE参数周围使用单引号。此外,mysql_escape_real_string输入数据库以进行SQL注入
答案 2 :(得分:1)
<?php
$link = $_POST['link'];
mysql_query("UPDATE items SET visited = 1 WHERE link = '$link'");
include("print.php"); // what print.php does ?
?>
在$ link附近加上引号
将$ link与数据库字段中的值进行比较 - 它需要与exaclly匹配