PHP preg_match在PHP7更新后没有给出结果

时间:2017-05-24 11:05:17

标签: php

嗨,谢谢你的阅读。

我在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";
}
}

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

难怪没有错误 - 它没有任何问题。问题是我写的php有问题。每个交付的应该附加一个数字(从查询中获取)但查询未正确读取。

感谢您让我看看其他地方。