假設字段數據類型爲varchar 當我把它添加一個整數,它會發布並將其添加爲字符串檢查插入記錄時一致的字段數據類型,如何使用PDO的MySQL
,並承擔現場數據類型是int 當我添加一個varchar,它將發佈並將其添加爲數據庫中的「0」,
所以有無論如何檢查數據類型是否等於數據庫中的內容?
所有我想檢查爲varchar,整數和布爾
謝謝
//get column name
try {
$q = $conn->prepare("DESCRIBE subscriber");
$q->execute();
$tableField = $q->fetchAll(PDO::FETCH_COLUMN);
}
catch(PDOException $e)
{
die ($e->getMessage()."<a href='view.php' onClick='window.location.reload()'> Back</a>");
}
foreach ($tableField as $set)
{$counter=0;
//if ($set!='Email')
$subCol[]=$set; //column name
$noOfColumn[]=$counter; //how much column
}
//get column datatype
foreach ($noOfColumn as $set)
{
try{
$sql ='SELECT s.*
FROM subscriber s,list_sub ls
where ls.ListID = ?
AND s.SubID=ls.SubID
';
$select = $DB->query($sql);
$meta = $select->getColumnMeta($set);
$dataType[]=$meta[$subCol['$set']]; //an arrary of datatype
}
catch(PDOException $e)
{
die ($e->getMessage().'<a href="viewAll.php"> Back</a>');
}
}
//assume input1='int' , input2='varchar' ,input3='bool'
//column name in database = input box name
foreach ($dataType as $compare)
{if($compare[$subCol['FieldName']]==gettype(mixed $input1))
echo "ok, same type";
else
echo "no, not same type";
}
的人,你的代碼格式是可怕的。我試圖讓它理智但失敗。你爲什麼不正確地設計嵌套塊?爲什麼有時候有2個空行,有時候沒有? – 2012-03-25 06:26:51