2017-05-24 52 views
-3

嗨,感謝您的閱讀。PHP preg_match在PHP7更新後沒有給出結果

我一直在使用這個在Windows XP上運行的舊的php5一段時間。最近我把所有東西都移到了linux上運行的php7.0上。

它仍然在舊環境中運行良好,但沒有在新的環境中運行。任何關於我哪裏出錯的建議?

這裏是進入的數據;

http://192.168.0.2/test/index2.php?doing=advicepart3&from=advicepart3update&id=5096&delivered=5&delivered1&delivered3=&discount=0.00&carriage=0.00

基本上它是遞送訂單的一部分。

if (preg_match("/^delivered([0-9]+)$/", $key, $matches) == 1) { 
$id = $matches[1]; 
$sql1a = "SELECT QUANTITY, DELIVERED FROM salesitems WHERE ID = '" . $id . "' ORDER BY ID DESC LIMIT 1"; 
$result1a = $conn->query($sql1a); 
if (mysqli_query($conn, $sql1a)) 
{ 
} 
else 
{ 
print "Error: " . $sql1a . "<br>" . mysqli_error($conn) . " Contact support"; 
} 
if ($result1a->num_rows > 0) { 
while($row1a = $result1a->fetch_assoc()) 
{ 
    $ordered = $row1a['QUANTITY']; 
    $alreadydelivered = $row1a['DELIVERED']; 
} 
} 
$updatedelivered = $alreadydelivered + $value; 
if ($updatedelivered > $ordered) 
{ 
    $updatedelivered = $ordered; 
} 
$outstanding = $ordered - $updatedelivered; 
$sql = "UPDATE salesitems SET DELIVERED = '". $updatedelivered ."', OUTSTANDING = '". $outstanding ."' WHERE ID = '" . $id . "'"; 
if (mysqli_query($conn, $sql)) 
{ 
} 
else 
{ 
print "Error: " . $sql . "<br>" . mysqli_error($conn) . " Contact support"; 
} 
} 

非常感謝您的任何建議。

+0

這可能是一個案例問題; \ *與Windows相對,NIX在所有內容中都區分大小寫。使用php的錯誤報告。 –

+1

既然我們不能運行你的代碼,你能告訴我們什麼是參數,會發生什麼?另請參閱:https://stackoverflow.com/help/mcve –

+0

@ Fred-ii-已打開完整錯誤報告,但不顯示任何錯誤。 – Neil

回答

0

難怪沒有錯誤 - 它沒有任何問題。問題是我寫的PHP有一個問題。每個交付應該有一個號碼(從查詢中獲得),但查詢不正確。

謝謝你讓我看看別處。