Lượt xem: 2100 Ngày tạo: 22/02/2021 Ngày cập nhật: 05/03/2021
Hiện tượng lỗi
Code PHP không chạy, màn hình không xuất kết quả.
Response trả về với Status code là 500 [Server Internal Error]
Error Log hiển thị đối với phiên bản PHP >= 7.0.0
Parse error: syntax error, unexpected double-quoted string ..., expecting "..." or "...." in ... on line ...
hoặc
Parse error: syntax error, unexpected single-quoted string ..., expecting "..." or "..." in ... on line ...
Error Log hiển thị đối với phiên bản PHP < 7.0.0
Parse error: syntax error, unexpected ... T_CONSTANT_ENCAPSED_STRING, expecting ... in ... on line ...
Nguyên nhân lỗi
Bạn thiếu connector [ký tự kết nối] giữa 2 hoặc nhiều chuỗi [string] với nhau. Ví dụ:
echo "Hello world!" "
"; // Lỗiecho "Hello world!" . "
"; // Đúng . là connector để nối 2 chuỗi với nhau
echo "Hello world!" $html; // Lỗi
echo "Hello world!" . $html; // Đúng
Bạn thiếu separator [ký tự phân chia] giữa các value bên trong một Indexed array. Ví dụ:
$arr = array["Apple", "Orange" "Strawberry"]; // Lỗi
$arr = array["Apple", "Orange", "Strawberry"]; // Đúng , là seperator giữa các value bên trong một Indexed array
Bạn thiếu connector [ký tự kết nối] giữa key và value bên trong một Associative array. Ví dụ:
$row = array["name"=>"Jack", "country" "Scotland", "Level" => 9]; // Lỗi
$row = array["name"=>"Jack", "country" "Scotland", "Level" => 9]; // Đúng => là connector giữa key và value bên trong một Associative array
Cách khắc phục Fix
Bước 1. Xác định vị trí câu lệnh statement chứa lỗi
Bằng thông tin hiển thị trên Error log, ta có thể dễ dàng xác định được vị trí câu lệnh [statement] chứa lỗi.
Ví dụ trường hợp theo ảnh chụp Error log như trên, câu lệnh chứa lỗi sẽ nằm ở dòng 13 của file blog_detail.php
Bước 2. Xác định và bổ sung connector hay separator mà bạn đang thiếu
Bằng việc đối chiếu statement của bạn với những nguyên nhân mà mình đã phân tích bên trên, bạn có thể dễ dàng xác định được code của mình đang thiếu connector hay separator nào. Sau đó, bạn hãy bổ sung nó cho hợp lý.
Bước 3. Lưu code và thử chạy lại
Trong bài viết này, mình sẽ hướng dẫn các bạn 5 cách để đặt code HTML vào một biến của PHP.
Nội dung chính
- 1. Sử dụng dấu nháy đơn “Single Quoted”
- 2. Sử dụng dấu nháy kép “Double Quoted”
- 3. Sử dụng PHP Heredoc
- 4. Sử dụng PHP Nowdoc
- 5. Sử dụng Output buffering ob_start[]
- Single Quoted
- Double Quoted
- Heredoc Syntax
- Nowdoc Syntax [từ PHP 5.3.0]
- ob_start
1. Sử dụng dấu nháy đơn “Single Quoted”
Đây là cách sử dụng phổ biến bởi các lập trình viên PHP
Nguồn: vinasupport.com