gpt4 book ai didi

php - PDO和MySQL类型切换

转载 作者:行者123 更新时间:2023-11-29 13:58:30 25 4
gpt4 key购买 nike

我在表 1 中有一个字段“year”,它定义为 VARCHAR(255),我需要用“year”的值更新表 2 中的“num_years”。 “num_years”被定义为 INT。

当我尝试用“year”更新“num_years”时,如果“year”定义为3,它工作正常,但如果我将“year”定义为“foo”,它将用0更新“num_years”。

当我使用 mysql_query 函数时,它会生成有关无效列“foo”或类似列的错误,但使用 PDO 时,它不会在我期望的时候抛出异常。

通过这种方式,如果“years”是数字,我们希望确保“num_years”不会更新为 0。如果是这种情况,PDO 是否内置了任何会引发异常的内容?

我正在使用 PDO 事务和准备好的语句。

最佳答案

在将其放入 sql 语句之前验证它是否是字符串,这样如果 table1 中的年份包含类似“1 年”的内容,您可以分解或以其他方式删除字符和空格并仅返回 1用于插入表 2 中的 int 列。

通过这种方式,您可以特殊处理事件,例如仅在输入字段中的文本,并将其设置为 0 或 -1 或 int 字段中的某些内容,稍后您可以捕获并在显示上验证以表示“未指定” “或类似的东西。

希望这是有道理的

关于php - PDO和MySQL类型切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15437212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com