我動態形成PHP的MySQL語句和想不通,爲什麼這個人是無法執行:INSERT INTO MySQL的聲明未能
INSERT INTO users (`email`, `password`, `first_name`, `last_name`, `url`,
`description`, `media`, `tags`, `zip`, `country`, `lat`, `lon`, `city`, `state`,
`datetime_joined`, `API_key`, `verified`, `likes`, `email_confirmation_code`,
`email_confirmed`) VALUES ('[email protected]',
'f1e5aeb519396a87bd2a90e6a680d18713b1ecbe', 'Brannon', 'Dorsey',
'brannondorsey.com', 'description', 'sculpture, photography, creative code',
'saic, chicago, richmond, young arts', '60601', 'us', '41.8858', '-87.6181',
'Chicago', 'Illinois', '2013-06-26T23:50:29+0200',
'7e852a3e97257b563ffbb879d764ce56110ccb70', '0',
'0','c35bad0dc9b058addbf47eef8dda2b124528751e', '0')
我檢查,我列的拼寫和格式要插入以及表名稱,一切都是正確的。有人知道會發生什麼嗎?我不想爲其他人忙碌的工作,我只是無法弄清楚這裏發生了什麼。
謝謝!
UPDATE:
這裏是我創造了我的表聲明:
CREATE TABLE users (
id mediumint(8) unsigned NOT NULL auto_increment,
email varchar(255) default NULL,
password varchar(255),
url TEXT default NULL,
description TEXT default NULL,
city varchar(255),
state TEXT default NULL,
country varchar(100) default NULL,
zip varchar(10) default NULL,
datetime_joined varchar(255),
media varchar(255) default NULL,
tags varchar(255) default NULL,
API_key varchar(255),
verified mediumint default NULL,
first_name varchar(255) default NULL,
last_name varchar(255) default NULL,
API_hits mediumint default NULL,
API_hit_date varchar(255),
likes mediumint default NULL,
lat varchar(30) default NULL,
lon varchar(30) default NULL,
email_confirmation_code varchar(255),
email_confirmed mediumint default NULL,
PRIMARY KEY (id),
FULLTEXT(`first_name`, `last_name`, `email`, `url`, `description`, `media`, `tags`, `city`, `state`, `country`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
我試圖去除所有號碼的單引號,但沒有奏效。此外,最奇怪的是,當我呼應失敗的查詢到瀏覽器,然後複製&將其粘貼到PhpMyAdmin的SQL輸入框行插入...任何想法?
UPDATE:
self::$mysqli->error
說:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'[email protected]\', \'f1e5aeb519396a87bd2a90e6a680d18713b1ecbe\', \'B' at line 1
UPDATE:見下面的回答......我不能回答我的問題了兩天。感謝大家。
請問實際的錯誤文字是什麼? – PaulProgrammer
如果'self :: $ mysqli-> query($ query)'返回'false',我只是迴應「MYSQL QUERY FAILED」。有沒有更好的具體方式來錯誤報告這一點? – Brannon
是的。查看[mysqli :: $ error]的文檔(http://www.php.net/manual/en/mysqli.error.php) – PaulProgrammer