$cdb=new \PDO('mysql:dbname=crawler;host=127.0.0.1;charset=utf8','root','*****');$cdb->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);$sql='update jb51_ps_article set is_handle=1 and new_article_id=5 where id=71665';$state=$cdb->exec($sql);print_r($cdb->errorInfo());
這裡的update語句的set部分寫錯了set ishandle=1 and newarticle_id=5
$sql='update jb51_ps_article set is_handle=1 and new_article_id=5 where id=71665';
應該為set ishandle=1,newarticle_id=5
執行後資料表不會更改,但是沒有任何錯誤資訊,害得我弄了半天,不知道是怎麼回事?
下面是輸出資訊:
回複內容:
$cdb=new \PDO('mysql:dbname=crawler;host=127.0.0.1;charset=utf8','root','*****');$cdb->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);$sql='update jb51_ps_article set is_handle=1 and new_article_id=5 where id=71665';$state=$cdb->exec($sql);print_r($cdb->errorInfo());
這裡的update語句的set部分寫錯了set ishandle=1 and newarticle_id=5
$sql='update jb51_ps_article set is_handle=1 and new_article_id=5 where id=71665';
應該為set ishandle=1,newarticle_id=5
執行後資料表不會更改,但是沒有任何錯誤資訊,害得我弄了半天,不知道是怎麼回事?
下面是輸出資訊:
建立PDO對象的時候設定一下錯誤模式
$cdb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
然後try/catch
一下就可以捕獲到錯誤了