SQL删除类型double

时间:2015-11-11 18:47:44

标签: sql prepared-statement sql-delete

我在使用sql时遇到了一些问题...下面有一个工作且不工作的例子。我对它们进行了硬编码,因此更容易看到。

$deleteData = $con->prepare("DELETE FROM markers WHERE sid=? AND user_id=? AND lat=? AND lng=?");
$deleteData->bind_param("iidd", $sid, $user_id,$lat,$lng);  

$sid= '239';
$user_id = '2';
$lat = '39.724869';
$lng = '-91.400116';

$deleteData -> execute(); 

当我尝试在bind_param中使用double类型删除时,某些原因并不起作用。有什么建议?我改变它有或没有''在洛杉矶附近,仍然没有工作。

如果我将其更改为以下,则删除就好了。

$deleteData = $con->prepare("DELETE FROM markers WHERE sid=? AND user_id=?);
$deleteData->bind_param("ii", $sid, $user_id);  

$sid= '239';
$user_id = '2';

$deleteData -> execute(); 

2 个答案:

答案 0 :(得分:1)

首先,你在第二个例子中有一个sintax错误(缺少字符")。

所有你没有分配$sid变量。

然后我有一点点愚蠢的问题。您是否知道,在调用方法$blog_id, $user_id ...之前必须分配变量$deleteData->bind_param()等?

另外,不要忘记当你比较2个真实值时,你也应该添加一些容差,所以请尝试:

$deleteData = $con->prepare("DELETE FROM markers WHERE sid=? AND user_id=? AND ABS(lat - ?) < 0.0000001 AND ABS(lng - ?) < 0.0000001");

答案 1 :(得分:0)

sorted = sortBy(comparing fst) a 替换为$blog_id = '239';,因为这是您在bind_param()语句中使用的变量名。