php - 使用 PDO 在 MySql 查询中增加值

标签 php mysql sql pdo

为什么此代码不起作用($artInfo2['phoneState'] 的值为 1):

 if($artInfo2['phoneState']==1)
   {
        $bdd->prepare("UPDATE `articulos` SET `telVisto` = `telVisto` + 1 WHERE `ID` ='".$_GET['id']."' ");

        $verPorTodos=$salerInfo2['phone'];
   }

我使用的 PDO 连接效果很好,因为它与其他查询配合得很好。这是我在页面顶部使用的数据库连接:

$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=lacajota', 'root', '', $pdo_options);

是的,我想更新telVisto,每次运行代码时递增 1。

谢谢

最佳答案

第 1 步:清理您的输入。切勿将查询与 $_GET['something'] 连接起来,因为我可以像那样删除您的整个数据库。
第2步:正确处理错误。
步骤 3:prepare() 不执行查询。它返回一个准备好的语句。 http://php.net/manual/en/pdo.prepare.php您仍然需要执行它。

$stmt = $bdd->prepare("UPDATE `articulos` SET `telVisto` = `telVisto` + 1 WHERE `ID` =:id ");
$stmt->execute(array(':id' => $_GET['id']));

第 4 步。如果没有任何效果,您是否可以检查一下是否还有行需要更新?是否查询

SELECT * FROM `articulos` WHERE `ID` = (insert your ID here manually)

返回什么?也许问题是您没有使用正确的数据?

关于php - 使用 PDO 在 MySql 查询中增加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38165769/

相关文章:

php - 如何检索mysql中3个表的数据?

mysql - 如何将数据从一个表复制到另一个 "EXCEPT"一个字段

php - 使用 JQuery 自动完成强制选择

mysql - 条件中找不到列错误

mysql - mysql如何向多个表中插入数据

mysql - 删除 varchar 中的逗号以获取数字并测试

mysql 从特定行获取行

javascript - HTML 文本输入条件提交

php - 如何在 php 的表中打印行 mysql 数组?

javascript - 如何在不使用 TeraWurfl 的情况下检测网站是否正在通过移动设备或计算机使用