Jo *_* E. 4 php mysqli bindparam
指定 mysqli bind_param 类型的优点和缺点是什么i,d,s,b
?
我将 UNIX 时间戳存储在数据类型为 INT 的数据库列中。在我准备好的语句中,我将其设置为bind_param('s',$timestamp);
并且它存储该值没有任何问题。s
那么我使用而不是在i
期间产生了什么影响bind_param
?
它影响 MySQL 如何查看查询/值。采取这个查询:
INSERT INTO foo VALUES (?)
Run Code Online (Sandbox Code Playgroud)
如果将参数绑定为 int:
$stmt->bind_param('i', $bar);
Run Code Online (Sandbox Code Playgroud)
那么查询将大约相当于:
INSERT INTO foo VALUES (42)
Run Code Online (Sandbox Code Playgroud)
但是,如果您绑定为字符串:
$stmt->bind_param('s', $bar);
Run Code Online (Sandbox Code Playgroud)
该查询大约相当于:
INSERT INTO foo VALUES ('42')
Run Code Online (Sandbox Code Playgroud)
在许多情况下,MySQL 并不特别关心您向其发送的是字符串还是整数,而只是将值即时转换为适当的类型,就像 PHP 在大多数情况下所做的那样。然而,在某些情况下,对于某些类型,您可能会遇到意外的转换,这就是为什么您应该将值绑定为您想要的类型,而不是将其留给 MySQL 的转换规则。
归档时间: |
|
查看次数: |
3515 次 |
最近记录: |