php - 上服务器后更新单条记录PARSE ERROR?
问题描述
我正在做一个简单的数据库应用程序,其中存储了人们的数据。如果我想更新特定人的数据,我会收到错误
解析错误:语法错误,第 20 行 /home/netcom85/domains/sieci-netcom.pl/public_html/updatesingle.php 中的意外 '['
在 localhost 上一切正常,在安装服务器后出现这样的错误。
更新客户端.php
<?php foreach ($result as $row) : ?>
<tr>
<td style="border: 2px solid black"><?php echo ($row["id"]); ?></td>
<td style="border: 2px solid black"><?php echo ($row["firstname"]); ?></td>
<td style="border: 2px solid black"><?php echo ($row["lastname"]); ?></td>
<td style="border: 2px solid black"><?php echo ($row["umowa"]); ?></td>
<td style="border: 2px solid black"><?php echo ($row["street"]); ?></td>
<td style="border: 2px solid black"><?php echo ($row["city"]); ?></td>
<td style="border: 2px solid black"><?php echo ($row["kod"]); ?> </td>
<td style="border: 2px solid black"><?php echo ($row["email"]); ?> </td>
<td style="border: 2px solid black"><?php echo ($row["numer"]); ?> </td>
<td style="border: 2px solid black; background-color: #00a3e8;"><a href="updatesingle.php?id=<?php echo($row["id"]); ?>">EDYTUJ</a></td>
</tr>
<?php endforeach; ?>
更新单.php
<?php
session_start();
if (($_SESSION['zalogowany']==false))
{
header('Location: clientpanel.php');
exit();
}
require "skrypty/connect.php";
if (isset($_POST['submit'])) {
try {
$connection = new PDO($dsn, $db_user, $db_password, $options);
$user =[
"id" => $_POST['id'],
"firstname" => $_POST['firstname'],
"lastname" => $_POST['lastname'],
"umowa" => $_POST['umowa'],
"street" => $_POST['street'],
"city" => $_POST['city'],
"kod" => $_POST['kod'],
"email" => $_POST['email'],
"numer" => $_POST['numer'],
];
$sql = "UPDATE dane SET id = :id, firstname = :firstname, lastname = :lastname, umowa = :umowa WHERE id = :id;
UPDATE adres SET id = :id, street = :street, city = :city, kod=:kod WHERE id = :id;
UPDATE kontakt SET id=:id, email=:email,numer=:numer WHERE id = :id";
$statement = $connection->prepare($sql);
$statement->execute($user);
} catch(PDOException $error) {
echo $sql . "<br>" . $error->getMessage();
}
}
if (isset($_GET['id'])) {
try {
$connection = new PDO($dsn, $db_user, $db_password, $options);
$id = $_GET['id'];
$sql = "SELECT * FROM dane,adres,kontakt WHERE dane.id = :id AND adres.id = :id AND kontakt.id = :id" ;
$statement = $connection->prepare($sql);
$statement->bindValue(':id', $id);
$statement->execute();
$user = $statement->fetch(PDO::FETCH_ASSOC);
} catch(PDOException $error) {
echo $sql . "<br>" . $error->getMessage();
}
} else {
echo "Something went wrong!";
exit;
}
?>
问题出现在这部分代码中:
$user =[
"id" => $_POST['id'],
"firstname" => $_POST['firstname'],
"lastname" => $_POST['lastname'],
"umowa" => $_POST['umowa'],
"street" => $_POST['street'],
"city" => $_POST['city'],
"kod" => $_POST['kod'],
"email" => $_POST['email'],
"numer" => $_POST['numer'],
];
我不知道如何修复它以及为什么会发生此错误。
解决方案
您使用的是旧版本的 PHP。数组初始化构造:[] 将不起作用。相反,使用这种方法:
$user = array(
"id" => $_POST['id'],
.....
)
推荐阅读
- php - Jquery Ajax 在 ios safari 中不起作用,但数据插入到数据库中
- angularjs - Keycloak 主题:更新 AngularJS 文件
- c# - 使用 AutoMapper C# 将模型的每两行的一列映射到另一个模型的单行的两列
- angular - 垫表中的 Ngx 分页(角度)
- php - 创建、删除同一个文件有副作用吗?
- javascript - 如何使用 Javascript 在输入搜索框中打印 URL 参数值?
- sql - 如何使用 INSERT INTO SELECT
- javascript - 需要帮助自动重新排序深度嵌套的对象/数组
- selenium-webdriver - 单击特定 web 元素时获取“org.openqa.selenium.InvalidArgumentException:无效参数”
- javascript - 关闭中的画布元素正在意外更改