php pdo 使用变量更新查询

标签 php mysql pdo

我希望有人能指出我在这个更新中出错的地方,我尝试了各种方法,但似乎无法让它工作,可能是一个简单的错误,但我似乎找不到它。

function set_live($row_id, $mobile_number)
{
    global $conn;
    $live = 1;

    $sql = "
     UPDATE 
      connections 
     SET 
      live = :live, 
      voice_number = :mobile_number 
     WHERE 
      id = :row_id";

    $stmt = $conn->prepare($sql);
    $stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_INT);
    $stmt->bindParam(':row_id', $row_id, PDO::PARAM_INT);
    $stmt->bindParam(':live', $live, PDO::PARAM_INT);
    $stmt->execute();

    echo "Record edited successfully";
    $conn=null;
}

$conn 是与 SELECT 等一起使用的 PDO 连接 所有变量都是数字并且所有 echo OK 所以都在函数中 我可以使用 phpmyadmin 中的实际值运行查询,它工作正常

最佳答案

只需替换这一行

$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_INT);

有了这个

$stmt->bindParam(':mobile_number', $mobile_number, PDO::PARAM_STR);

因为电话号码长度大于整数。

关于php pdo 使用变量更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37269899/

相关文章:

mysql - InnoDB MySQL 5.5 中的 TEXT 与 VARCHAR。何时使用每一个

php - 如何使用 php pdo 从 mysql 中具有外键约束的数据库中删除数据

php - 在 foreach 循环中使用 cURL (php)

php - SQL 语句超出 PHP 中的最大时间,但在 phpMyAdmin 中立即运行

php - 我可以使用像 array_map 这样的数组函数设置数组的键吗

php - MySQL查询,不根据名称显示记录

php - 在 PDO 中使用 password_verify 的正确方法是什么?

symfony - 在 DBAL 和 session 处理程序 Symfony2 之间共享数据库连接

php - mysql中的临时表问题

php - Cakephp 3中配置Redis EC Amazon