請幫助我。 我insered爲VARCHAR列PDO插入特定的數據類型
$nul='mystring';
$STH->bindParam(':param',$nul , PDO::PARAM_INT);
如果PDO :: PARAM_INT意味着進入數據庫插入數(INT)$ NUL = 0!有一個記錄字符串'mystring'。這是爲什麼?
請幫助我。 我insered爲VARCHAR列PDO插入特定的數據類型
$nul='mystring';
$STH->bindParam(':param',$nul , PDO::PARAM_INT);
如果PDO :: PARAM_INT意味着進入數據庫插入數(INT)$ NUL = 0!有一個記錄字符串'mystring'。這是爲什麼?
見PHP PDO::bindParam() data types.. how does it work?
PDO :: PARAM_INT只布爾轉換爲整數。沒有其他的。
如果你想將字符串轉換爲int使用INTVAL
假設我正確理解你的問題,你想要的數值爲空(不確定的值),在數據庫中,但在實踐中你得到的字符串「NUL」。
如果要設置一些爲null,它並不需要撇號。
// Setting the value of the string
$string_to_insert = 'my_string';
// Checks that the string has a value, if not sets to NULL
$value = isset($string_to_insert) ? $string_to_insert : null;
// Bind the parameter
$STH->bindParam(':param', $value, PDO::PARAM_INT);
如果你在它周圍放置了撇號,你會在你的數據庫中接收到這個文字字符串。
NULL是一個常數,檢查出的文檔這裏http://www.php.net/manual/en/language.types.null.php
我很抱歉,我沒有帶來一個很好的例子。我想說任何字符串,不是null。非常感謝您對您的例子 –
,以便它檢查存在插入值我已經改變了,如果不是它設置爲null。這是否回答這個問題? – Luke
或簡單地施放它:'$ STH-> bindParam(':param',(int)$ nul,PDO :: PARAM_INT);' – h2ooooooo
好的答案!謝謝 –
真的,你也可以施放它。技術上講,演員陣容更快。 –