android向php发送了值(mysql_fetch_array()希望参数1是资源,数组在中给出)

android向php发送了值(mysql_fetch_array()希望参数1是资源,数组在中给出),php,android,mysql,Php,Android,Mysql,问题是: <?php require("libs/connection_to_abc.php"); mysql_query("SET character_set_results=utf8"); mysql_query("SET character_set_client=utf8"); mysql_query("SET character_set_connection=utf8"); //$member_id = $_POST["member_id"]; //$name = $_POST

问题是:

<?php

require("libs/connection_to_abc.php");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");

//$member_id = $_POST["member_id"];
//$name = $_POST["name"];
//$address = $_POST["address"];
//$total_price = $_POST["total_price"];

$member_id ='1';
$name ='royle';
$address = 'cmru';
$total_price = '400';
$date_order = date("Y-m-d");



mysql_query("INSERT INTO productorder VALUES (NULL,'$member_id', '$name', '$address', '$total_price','$date_order')") or die (mysql_error());

$getOrder = mysql_query("SELECT order_id FROM productorder WHERE member_id = '$member_id'") or die (mysql_error());
$order_info = mysql_fetch_array($getOrder, MYSQL_NUM);



$getTransaction = mysql_query("SELECT * FROM transaction WHERE member_id = '$member_id'") or die (mysql_error());
$transaction_info = mysql_fetch_array($getTransaction, MYSQL_NUM);



while($detail = mysql_fetch_array($transaction_info, MYSQL_NUM)){
mysql_query("INSERT INTO detailorder VALUES(NULL,'$order_info[0]','$detail[product_code]','$detail[quantity]','$detail[price]')")or die (mysql_error());
}


//$delete_transaction = mysql_query("DELETE FROM transaction WHERE member_id = '$member_id'") or die (mysql_error());

echo "DELETED.";


mysql_close($link);
您正在调用
mysql\u fetch\u array
将信息加载到
$transaction\u info
;然后在几行之后将同一个变量传递回
mysql\u fetch\u array()
。我认为您只需要将这些代码行替换为:

$transaction_info = mysql_fetch_array($getTransaction, MYSQL_NUM);

while($detail = mysql_fetch_array($transaction_info, MYSQL_NUM)){
您在循环内的INSERT查询中使用了命名字段,因此需要使用
mysql\u fetch\u assoc
才能正确访问它们

编辑第二个-需要使用
MYSQL\u NUM
参数,否则即使使用
MYSQL\u fetch\u assoc()


我还将提到mysql_u函数已被弃用;您应该考虑切换到mysqli_uuu或PDO,它们都可以帮助您编写更安全的代码。

未定义索引:第30行C:\xampp\htdocs\test\u projectEnd\order.php中的产品代码注意:未定义索引:第30行C:\xampp\htdocs\test\u projectEnd\order.php中的数量注意:未定义索引:价格第30行C:\xampp\htdocs\test\u projectEnd\order.php通知:未定义索引:第30行C:\xampp\htdocs\test\u projectEnd\order.php中的产品代码通知:未定义索引:第30行C:\xampp\htdocs\test\u projectEnd\order.php中的数量通知:未定义索引:第30行C:\xampp\htdocs\test\u projectEnd\order.php中的价格产品代码,数量,价格是Transaction中的名称列尝试切换到
mysql_fetch_assoc
-我已经更新了答案。插入到detailorder值中(NULL,$order_info[0],“$detail[product_code]”,“$detail[quantity]”,“$detail[price]”我使用语法对吗$在while循环中添加detail[product_code]、“$detail[quantity]”、“$detail[price]”,您是否可以添加一个
var_dump($detail)
,并用输出编辑您的问题?它将准确显示
$detail
中的内容。哦!!无名专栏。输出=数组(5){[0]=>字符串(2)“23”[1]=>字符串(1)“1”[2]=>字符串(4)“mv02”[3]=>字符串(1)“1”[4]=>字符串(3)“100”}
    while($detail = mysql_fetch_assoc($getTransaction)){