2012-11-02 127 views
1

我在php页面上使用了以下代码,我只是试图让它工作,它运行第一个查询罚款(这是一个插入)并将正确的值返回给$ orderid
但是,如果我取出变量$ myorderid并放入一个数字中,它将不会返回select查询的任何内容,它将返回预期的结果,但只要我尝试使用它不返回任何变量。
我曾尝试使用mysql_escape_string,sprintf和现在的intval方法,但似乎没有工作。
从mysql返回没有错误只是一个空的结果集。使用PHP添加变量到mysql select语句打破语句

mysql_query($sSQL) or print(mysql_error()); 
$orderid = mysql_insert_id(); 

$myorderid = $orderid; 
$myquery = "SELECT cartOrderID, Sum(pDonationAmt) as amount 
FROM products INNER JOIN cart ON (cartProdID = pID) 
WHERE cartOrderID = " . intval($myorderid). " GROUP BY cartOrderID "; 

$myresults = mysql_query($myquery); 
while ($row = mysql_fetch_assoc($myresults)) 
    { error_log('orderid inserted is:.$orderid.' OrderID in mysql:'.$row['cartOrderID'].' and the total is: '.$row['amount'], 3, 'inc/atestingdata.txt'); } 

感谢您的任何帮助!

回答

0

旧的 '回响' 可以帮助...尝试:

$myquery = "SELECT cartOrderID, Sum(pDonationAmt) as amount 
FROM products INNER JOIN cart ON (pID = cartProdID) 
WHERE cartOrderID = $orderid GROUP BY cartOrderID "; 
echo $myquery; 
+0

是的,当我将它回显或甚至当我将它发送到日志时,查询中的变量号码都来自变量。但它在发送到数据库时似乎消失了。 –

+0

另一个DUH的时刻,这个cartOrderID实际上还没有设置,当我发送我的查询。 (约二十行太早)。 –

+0

发生这些事情。你已经解决好了。 –

0

尝试围绕intval($myorderid)用引号'

$myquery = "SELECT cartOrderID, Sum(pDonationAmt) as amount 
FROM products INNER JOIN cart ON (cartProdID = pID) 
WHERE cartOrderID = '" . intval($myorderid). "' GROUP BY cartOrderID "; 
+0

不走,我相信,我尝试过了,但我没有它再次返回0结果。 –