iT邦幫忙

0

PHP $this->db->query() 使用問題請教

php
  • 分享至 

  • xImage

您好:

1.我看一段程式碼
$sql = "UPDATE tablex SET col1 = '1' WHERE col2='XX'";
$this->db->query($sql);
$d[] = $sql;

但我查$this->db->query 只能select ,沒有update ?
還是一般 MVC 的db 函式,要去哪邊查!

接著,他有一段,又把 $d 加到 array,利用post 送到遠端
$zz = array('ct'=>$d);

	$url = "http://192.168.1.100/SS/up";
	$result = $this->POST($url,$zz);

可是$url沒有寫要用 up.php 哪一個func?

我查,其中有一個是

public function index()
{
$zz = $_POST['ct'];//上傳資料

foreach($zz as $row){
  $sql = $row;
  $this->db->query($sql);
}
$data = "ok";
echo $data;

}

他把 $zz 取出,可是這時候應該是 $zz = array('ct'=>$d);
$d -->$d[]是 ARRAY ,他還有K-V 值

   $sql = $row; 這樣抓得到 SQL語法嗎?

最後又 $this->db->query($sql); 執行UPDATE 動作!
這樣可以嗎?
這邊是否又多做了?

謝謝!

請問大大看的是那本書,書上應該有指明使用什麼框架(Laravel,CodeIgniter,...)的情況下吧?

這段例子,感覺像是要硬幹不同台資料庫的同步

先在本機跑完update的語法,
再把這個語法丟到另一台主機去跑,
讓兩邊的資料能夠一致

up接收到的資料是這樣
$_POST["ct"][0]="UPDATE tablex SET col1 = '1' WHERE col2='XX'";

foreach會把$_POST["ct"]底下的陣列逐次丟給$row
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
舜~
iT邦高手 1 級 ‧ 2019-08-18 20:48:30
最佳解答

db->query 可以執行一段sql,並返回查詢結果

如果塞入的sql是update/insert/delete,一樣會執行,因為update/insert/delete也是sql,不過因為沒有回傳值,所以回傳就是空值(或是false),正好您的程式碼在邏輯上也不需要知道回傳值XD
(不然就會是這樣 $tmp = $this->db->query(...)了~~~)

$this->POST(...) 這真不知內容是什麼,不是php內建的咚咚XD

這樣可以嗎?
這邊是否又多做了?
->沒有可不可以,因為是邏輯的問題不是程式的問題,或許有什麼原因所以要重複做吧~~
(或許只是當初在寫的時候不知道前面已經執行了,所以再次執行XD)

0
小魚
iT邦大師 1 級 ‧ 2019-08-15 23:55:09

所以
$this->db 是什麼?
$this->POST 又定義在哪?

noway iT邦研究生 1 級 ‧ 2019-08-16 08:51:01 檢舉

您好:我只知道這是呼 是MVC 內建的用法!但實際 不清楚 在哪!所以冒昧 POST 文看是否有前輩 知道。
謝謝!

小魚 iT邦大師 1 級 ‧ 2019-08-16 09:21:19 檢舉

如果是已經寫好的程式,
它一定在某個地方,
如果只是看到片段的程式碼,
那它只是片段的而已,
你還是去參考比較完整的資料吧...
不過現在PHP連資料庫是建議用PDO.

這跟是不是MVC無關,
如果你是用套件,
就要去找那個套件相關的範例.

我要發表回答

立即登入回答