[請益] mysql INSERT問題

看板PHP作者 (LO)時間16年前 (2009/09/08 15:38), 編輯推噓4(4027)
留言31則, 6人參與, 最新討論串1/2 (看更多)
//新增資料庫資料庫 mysql_select_db($database_Conn1, $Conn1); //已成功上傳之檔案 for($i=0; $i<count($_POST); $i++) { if(isset($_POST["MultiPowUploadFileName_". $i])) { $FileCatalog = 2/*$_SESSION['FileType']*/; $now = now(8,''); $FileName = $_POST["MultiPowUploadFileName_". $i]; $FileSize = $_POST["MultiPowUploadFileSize_" . $i]; $FileDateTime = $now; $ProjectIndex = $_GET['project']; $FileDescript = ''; $ModifyUser = $_SESSION['HCW_MemberID']; $ModifyDateTime = $now; $Note = ''; if ( isset($_SESSION['HCW_UploadFlag']) && $_SESSION['HCW_UploadFlag'] ==true ) { $query_rsProjcet = "INSERT INTO files ( FileIndex , FileCatalog , FileName , FileSize , FileDateTime , ProjectIndex , FileDescript , ModifyUser , ModifyDateTime , Note ) VALUES ( NULL ,'$FileCatalog','$FileName' ,'$FileSize','$FileDateTime','$ProjectIndex' ,'$FileDescript','$ModifyUser' ,'$ModifyDateTime', '$Note')"; $rsProjcet = mysql_query($query_rsProjcet, $Conn1) or die(mysql_error()); } } } if ( $_SESSION['HCW_UploadFlag'] == false ) mysql_free_result($rsProjcet); 前面變數都已經檢查過沒問題了 mysql的表單欄位也都很確定沒錯 可是每次執行完他都會跑出 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\ie\professor\abstract_add.php on line 173 而且資料也都沒寫入資料庫中 請問一下這可能是哪邊有出問題? 我把比較完整的程式碼貼出來 剛剛maplenote大說的方法我也試過了 一樣都會跑出上面那條錯誤的結果 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.147.158 ※ 編輯: Milk0210 來自: 114.44.147.158 (09/08 15:40)

09/08 15:55, , 1F
query 字串有問題導致 mysql_query 發生錯誤
09/08 15:55, 1F

09/08 15:56, , 2F
你可以將 $query_rsProjcet print 出來
09/08 15:56, 2F

09/08 15:56, , 3F
直接貼到 mysql 的 command line 或是 phpMyAdmin
09/08 15:56, 3F

09/08 15:56, , 4F
執行看看
09/08 15:56, 4F

09/08 16:07, , 5F
我剛剛測試過把結果直接到mysql執行 是可以存進去的
09/08 16:07, 5F

09/08 16:13, , 6F
可是直接跑PHP的語法他還是會出現那行錯誤
09/08 16:13, 6F

09/08 17:43, , 7F
換成 '".$A."','".$B."','".$C."' 看看
09/08 17:43, 7F

09/08 17:50, , 8F
上面那種寫法我也試過了..一樣會錯誤 囧
09/08 17:50, 8F

09/08 17:55, , 9F
$NOTE);"; 怎麼多了一個 ;
09/08 17:55, 9F

09/08 18:09, , 10F
那個好像沒影響 我去掉了也叫不出來
09/08 18:09, 10F

09/08 22:27, , 11F
那就表示你的 SQL 沒有問題, 可能是 PHP 建立連線
09/08 22:27, 11F

09/08 22:27, , 12F
那邊有問題
09/08 22:27, 12F

09/08 23:20, , 13F
PHP建立連線那邊應該是沒問題,因為我有抓資料庫資料
09/08 23:20, 13F

09/08 23:20, , 14F
給他顯示出來 是抓得到的
09/08 23:20, 14F

09/09 01:05, , 15F
直接給他值看可不可以
09/09 01:05, 15F

09/09 08:30, , 16F
有可能是打錯字Project? Projcet? 欄位 表單 物件
09/09 08:30, 16F

09/09 09:58, , 17F
欄位都確認過了 我也試過把值直接輸入mysql過 沒出現
09/09 09:58, 17F

09/09 09:59, , 18F
錯誤 每個欄位格式都沒錯
09/09 09:59, 18F

09/09 11:06, , 19F
我的意思是 用PHP直接給值 或是VALUE 一次一個去找問
09/09 11:06, 19F

09/09 11:07, , 20F
題在哪 你的問題應該是 PHP有問題
09/09 11:07, 20F

09/09 11:50, , 21F
為何要用 mysql_free_result() 執行?
09/09 11:50, 21F

09/09 12:21, , 22F
我曾經把PHP語法改成INSERT固定值 而且只輸入兩欄位
09/09 12:21, 22F

09/09 12:21, , 23F
結果也是失敗
09/09 12:21, 23F

09/09 13:20, , 24F
好像只有查詢語法需要用到mysql_free_result新增不用
09/09 13:20, 24F

09/09 13:23, , 25F
如果資料一直沒寫進去 會不會把autocommit關掉了阿??
09/09 13:23, 25F

09/09 13:25, , 26F
新增前先執行mysql_query('set autocommit=1');試試
09/09 13:25, 26F
※ 編輯: Milk0210 來自: 114.44.146.128 (09/09 13:50) ※ 編輯: Milk0210 來自: 114.44.146.128 (09/09 13:51)

09/09 13:55, , 27F
加上map大的語法一樣跑出錯誤訊息
09/09 13:55, 27F

09/09 14:19, , 28F
你說的錯誤是指mysql_free_result嗎?請把它拿掉吧~
09/09 14:19, 28F

09/09 14:32, , 29F
已經找到問題了...結果是IF判別式問題..
09/09 14:32, 29F

09/09 14:32, , 30F
感謝上面各位大大熱心的幫忙
09/09 14:32, 30F

09/09 16:41, , 31F
IF...哈...
09/09 16:41, 31F
文章代碼(AID): #1AfWeI_2 (PHP)
文章代碼(AID): #1AfWeI_2 (PHP)