[英]PHP updating table from values with multidimensional array
我的PHP代碼是
for($i=1;$i<$rows;$i++)
{
$flag=0;
$result = mysqli_query($con,"SELECT id FROM `TABLE 1` ");
while($row = mysqli_fetch_array($result))
{
//echo $row['id']."<br>";
echo $cols[$i][0];
if($row['id']==$cols[$i][0])//id exists in database=> update
{
echo"<br> ".$cols[$i][4];
mysqli_query($con,"UPDATE `TABLE 1` SET `price`=$cols[$i][4] WHERE `id`=07");
//echo $cols[$i][0];
$flag=1;
}
}
if($flag==0)//Add new record in to database
{
//code for insert
}
}
它不會更新價格
mysqli_query($ con,“更新
TABLE 1
設置price
= $ cols [$ i] [4] WHEREid
= 07”);
如果輸入,它將更新值,即價格,例如
mysqli_query($ con,“ UPDATE
TABLE 1
SETprice
= 100 WHEREid
= 07”);
$cols[$i][4]
是一個數組,當我回顯它時,它給出正確的值,但是當對update語句應用相同的值時,它不接受它。
請嘗試以下查詢,
mysqli_query($con,"UPDATE `TABLE 1` SET `price`= '".$cols[$i][4]."' WHERE `id`=07");
考慮到要插入到SQL語句(多維數組)中的變量的復雜性,不能像簡單變量( $var[0][1]
vs $var
)那樣將其包括在字符串中。 可以使用來連接字符串.
或用大括號{
和}
包圍變量。
// using concatenation
$sql = "UPDATE `TABLE 1` SET price=".$cols[$i][4]." WHERE `id`=07";
// using curly braces
$sql = "UPDATE `TABLE 1` SET price={$cols[$i][4]} WHERE `id`=07";
mysqli_query( $con, $sql );
我還建議盡可能在表名中避免使用空格和關鍵字,這樣可以減少SQL錯誤的機會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.