php向mysql插入資料出錯,php連線mysql成功了,但是插入資料失敗!

2022-03-05 16:46:30 字數 2352 閱讀 5048

1樓:匿名使用者

mysql語句在執行insert,update時,對於非數字的值,必須加引號,比如

update tablename set attra='valuea'

update tablename set attra=valuea;

這樣就會報錯。對於數字的值,可以不加,加上也不會影響插入效果,比如

update tablename set intattra = 1;

update tablename set intattra = '1';

這兩種都是可以的。

你這裡報錯的一行**,假設輸入的$_post['username'] = 『a』;$_post['pwd'] = 『b』;$_post['content'] = 'c';

在處理後,最後執行的是

insert into userinfo (username, pwd, content) values (a, b, c);

它的錯誤就是上面說的非數字類的值,沒帶引號。

但實際上,正確的語句應該是

insert into userinfo (username, pwd, content) values (『a』, 『b』, 『c』);

所以你測試的

$query = 'insert into userinfo (username, pwd, content) values ("username", "pwd", "content")'; 能正確執行。

最後問題的解決方法是:

$query = "insert into userinfo (username, pwd, content) values ('".$_post['username']."', '".

$_post['pwd']."', '".$_post['content'].

")";

另外 為了看起來舒服點,可以這麼寫:

$query = sprintf("insert into userinfo (username, pwd, content) values ('%s', '%s', '%s);",$_post['username'],$_post['pwd'],$_post['content']);

最後,你這種寫法,有sql注入的風險,從安全形度來講是不可取的。所以應該這麼寫:

$query = sprintf("insert into userinfo (username, pwd, content) values (unhex('%s'),unhex('%s'), unhex('%s'));",bin2hex($_post['username']),bin2hex($_post['pwd']),bin2hex($_post['content']));

2樓:jk藍藍

是不是你有些欄位不能為空值,但你post了空值過去插入資料庫

php連線mysql成功了,但是插入資料失敗! 5

3樓:陽光的豆豆魚

現在資料庫中執行insert into user values ( 5, '小明', 23 )這條語句是否有錯

沒有錯的話 我我們在query()函式中列印下sql語句,看是否執行到這個函式中來

估計我判斷sql語句錯了的可能性比較大

4樓:匿名使用者

insert into user values ( 5, '小明', 23 )" .

user表是否是3個欄位?建議把 欄位寫全一點試試。

php向mysql插入資料時出現問題!

5樓:

是不是資料庫編碼出現了問題啊??

你看一下資料庫的編碼,還有在**中加上一句mysql_query("set names '編碼型別'");

看一下那張**,這是資料庫的編碼型別!!

php向mysql資料庫寫入datetime資料出錯!急!!

6樓:巨優多

$sql = "insert into users (date) values ($userdate) ";

改成:$sql = "insert into users (date) values ('".$userdate."') ";

估計是因為你日期和時間之間有空格,所以才出錯(就是以2014-05-01 12:11:11為例,日期的-01和12:點之間有空格),用單引號括起來應該就可以。

另外:$userdate = date("y-m-d h:i:s",strtotime('now'));

可以直接用:

$userdate = date("y-m-d h:i:s",time());

php備份恢復MYSQL資料庫,php對mysql資料庫的備份及還原

mysql備份最好就是用myqsqldump,如果php支援exec 函式就可以直接呼叫mysqldump進行備份,匯入也是一個,直接通過exec 呼叫mysql,再大的資料也不是問題.php備份恢復mysql資料庫 1 把資料庫sql檔案查詢 character 替換成 character set...

html格式的資料如何插入到mysql資料庫中

進入資料庫的資料先進行轉義再入庫,例如將 變成 之類的。具體的程式語言有不同的實現方法。思路是一樣的 這樣,從資料庫裡出來的資料再展現到html頁面中就會被自動換成實體了 1.常用的方法是insert語句 insert into tablename values value1,value2,inse...

php連線mysql資料庫執行查詢語句後排序後再輸出

select from table order by id desc 查詢 所有 來自 table表 排序 按照 id 降序,desc 代表降序,asc 代表升序 sql select from news where 條件 order by id desc rs mysql query sql ro...