我試圖用shell_exec(在本地主機上)向表中插入一些數據。PHP shell_exec INSERT MySQL
下面是我使用的代碼:哪些運行作爲
$shellExec = 'C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root mm_'.$acname.' INSERT INTO account (acct_name,start_date,active,name,address1,address2,postcode,telephone,website,email,vat_number,vat_amount,start_number,currency) VALUES("'.$company.'","'.$start_date.'","'.$active.'","'.$acname.'","'.$address1.'","'.$address2.'","'.$postcode.'","'.$telephone.'","'.$website.'","'.$email.'","'.$vat_number.'","'.$vat_amount.'","'.$start_number.'","'.$currency.'")';
shell_exec($shellExec);
:
C:\wamp\bin\mysql\mysql5.1.36\bin\mysql -h localhost -u root mm_robdunne22 INSERT INTO account (acct_name,start_date,active,name,address1,address2,postcode,telephone,website,email,vat_number,vat_amount,start_number,currency) VALUES("sdfsdfy","10-05-2011","1","robdunne22","fsdfs","dfsd","sdf","3423423434sdfsdf","cvxcvdfg","gfgh55ydddd","sdfs","sdfgggaacc","1","pound")
在命令行。
這會失敗 - 在命令行上,如果我運行它,它只顯示MySQL幫助信息。我認爲問題是登錄到MySQL和INSERT語句應該是分開的。如果我將它們分開,它們可以很好地工作,但是我不確定如何完成這項工作 - 可以分爲兩個或一個shell命令。
爲什麼不使用mysql支持內置到PHP? – 2011-05-10 15:45:20
正確地引用Windows中的命令行參數已經是一項艱鉅的任務。你想要做的是有一個名字:受虐狂。 – 2011-05-10 15:53:14
另外,當我們處理它時,您應該查看準備好的語句,並檢查$ company等是否正確轉義。最後,如果您在共享服務器上,則需要檢查其他用戶是否無法看到使用任務管理器執行的命令(我認爲這就是所謂的窗口,相當於頂級窗口)。 – 2011-05-10 15:53:45