iT邦幫忙

0

這段 php 有辦法簡化嗎?

$data = $pdo->query(
      "SELECT * FROM `user` WHERE `session` = '".$_SESSION['user-session']."' "
    );
    $_data = mysqli_fetch_array($data);

我是用這個 $_data 去取欄位值
LIKE $_data['name'];
只是很好奇有辦法簡化嗎?

weiclin iT邦高手 4 級 ‧ 2018-06-25 20:46:48 檢舉
你怎麼把 pdo 跟 mysqli 混用了..
jerry00218 iT邦研究生 1 級 ‧ 2018-06-26 01:29:46 檢舉
感覺沒辦法再簡化了
小魚 iT邦好手 1 級 ‧ 2018-06-26 11:54:14 檢舉
這段有很複雜嗎?

1 個回答

1
最佳解答

這樣吧,只是sql還是要改用parameter,才不會有sql injection的問題

$_data = mysqli_fetch_array($pdo->query(
      "SELECT * FROM `user` WHERE `session` = '".$_SESSION['user-session']."' "
    ));
看更多先前的回應...收起先前的回應...
Homura iT邦研究生 3 級 ‧ 2018-06-26 09:21:15 檢舉

你少了一個`

asys0512 iT邦研究生 5 級 ‧ 2018-06-26 12:02:28 檢舉

我原本也是想這個`

asys0512 iT邦研究生 5 級 ‧ 2018-06-26 12:03:18 檢舉

mysqli 不是改善 injection問題了嗎?

weiclin iT邦高手 4 級 ‧ 2018-06-26 12:40:47 檢舉

你這樣寫是沒辦法避開 injection 的, 只要看到用 . 去連接 SQL 語法, 就是一個注入點

我要發表回答

立即登入回答