簡體   English   中英

如何在PHP中將二維數組放入mysql_query

[英]How to put two dimensional array into mysql_query in php

問題很簡單。

我有什么,有什么問題?
我確實有二維數組$someArray[][] 我可以在第一個括號中放入“主題”或“日期”。 第二個從1到4(只是示例- $someArray['date'][0]

現在,當我嘗試使用mysql_query()從數據庫中獲取一些數據時,我遇到了一些問題。 我試圖在查詢的WHERE部分中使用此二維數組。

示例什么有效,什么無效
$result = mysql_query("SELECT some from table where date='$someArray[date][0]' AND subject='$someArray[subject][0]') or die(mysql_error());

當我使用它時,它什么也沒回報。 但是當我第一次將這些值賦給新變量時:

$variable1 = $someArray['date'][0];
$variable2 = $someArray['subject'][0];

然后在查詢中使用它們

`$result = mysql_query("SELECT some from table where date='$variable1' AND subject='$variable2') or die(mysql_error());

它像一種魅力。


我的第一個查詢出了什么問題,我將這些數組寫錯了嗎? 我沒有錯誤。
試圖將單撇號放在mysql查詢的[]括號內,但隨后卻出現錯誤。 如果我在查詢中使用像$someotherArray[somedata]這樣的數組,也可以在沒有它們的情況下工作。

查詢中的語法缺少右引號。 然后連接該字符串,而不是將其添加到其中。 字符串解析器不喜歡多維數組。

解:

$result = mysql_query("SELECT some from table where date='".$someArray[date][0]."' AND subject='".$someArray[subject][0]."'") or die(mysql_error());

和@barmar一樣,括號也可以

另外,請確保對數據進行轉義以確保防止SQL注入!

數組插值僅適用於單級下標。 對於多維數組,您需要使用{...}包裝器:

$result = mysql_query("SELECT some from table where date='{$someArray['date'][0]}' AND subject='{$someArray['subject'][0]}') or die(mysql_error());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM