我创建了一个在我的Wordpress网站中使用的表格,其中的列使用date
,int
和varchar
作为类型。
但是,当我使用var_dump
获取特定行和结果的值时,它会将所有列显示为string
。
我还没有看到这实际上影响了DB调用和函数的操作,但我只是想知道为什么它们都以字符串形式返回,我在var_dump
中看到了核心Wordpress函数返回有时会int
值。
$bv_set = $wpdb->get_row('SELECT * FROM wp_before_after WHERE ID = '.$bv_id );
var_dump($bv_set);
C:\wamp64\www\bellavou\wp-content\plugins\bv-before-afters\views\edit.php:8:
object(stdClass)[6915]
public 'ID' => string '1' (length=1)
public 'created' => string '0000-00-00' (length=10)
public 'before_date' => string '2015-04-08' (length=10)
public 'after_date' => string '2015-04-21' (length=10)
public 'patientID' => string '2137' (length=4)
public 'procedureID' => string '238' (length=3)
public 'patient_display' => string '1' (length=1)
public 'procedure_display' => string '1' (length=1)
public 'gallery_display' => string '1' (length=1)
public 'before_img' => string '2200' (length=4)
public 'after_img' => string '2199' (length=4)
public 'period_taken' => string '1week' (length=5)
public 'notes' => string '' (length=0)
答案 0 :(得分:2)
阅读$wpdb->get_row
的代码,您可以看到它最终调用了$wpdb->query
,而mysqli_fetch_object又调用了mysqli_fetch_object
(写作时的第1822行):
while ( $row = mysqli_fetch_object( $this->result ) ) {
$this->last_result[$num_rows] = $row;
$num_rows++;
}
现在,看一下http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#startInstances-property的PHP文档:
返回一个对象,字符串属性,对应于获取的行,如果结果集中没有更多的行,则返回NULL。
这提供了问题的答案。
答案 1 :(得分:0)
高度依赖于mysql连接器及其基于DB字段选项的类型转换,例如" null"值。可能还与一些臭名昭着的php类型的演员有关(见https://www.sitepoint.com/3-strange-php-facts-you-may-not-know/)