Tại sao bạn lại cố gắng chuẩn bị trong chức năng mở phiên? Tôi không tin rằng hàm ghi được gọi nhiều hơn sau đó một lần trong một phiên, vì vậy việc chuẩn bị nó khi đang mở không giúp ích gì nhiều cho bạn, bạn cũng có thể làm điều đó trong phiên viết của mình.
Dù sao tôi tin rằng bạn cần một số khoảng trắng sau tên bảng và trước danh sách cột. Nếu không có khoảng trắng, tôi tin rằng mysql sẽ hoạt động như thể bạn đang cố gắng gọi hàm không tồn tại có tên là session ().
REPLACE INTO session (phpsessid, data) VALUES(?, ?)
Thật thú vị, khi tôi chạy phần bên dưới trong mysql CLI, tôi dường như nhận được một kết quả khác.
mysql> select count (*);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*)' at line 1
mysql> select count(*);
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)