Я создал набор вспомогательных функций, чтобы облегчить мою жизнь при выполнении операций с базой данных в php. По сути, я передаю функции объекту stdClass, который они затем используют для выполнения операции (удаления, добавления и т. Д.) Или для получения информации. Кажется, что они работают так, как задумано, за исключением вспомогательной функции, предназначенной для удаления записей базы данных. Что меня расстраивает, так это то, что он отлично работает на моей локальной машине с WAMP, но когда я запускаю его, он отказывается удалять записи базы данных.
Я думаю, что сузил проблему до странной причуды, которую я не могу объяснить между выводом объекта stdClass между WAMP и моим живым сайтом.
PHP:
<?php
session_start();
require_once('dbconnect.php');
require_once('dbhelpers.php');
$cat = $_GET['cat'];
$id = $_GET['id'];
//remove row from table
$a_remove = (object) array(
"table" => "{$cat}",
"columns" => (object) array(
"`id`"),
"results" => (object) array(
"{$id}"),
"type" => (object) array(
"i")
);
removeRow($a_remove);
?>
Вот вывод из ответа на WAMP, когда я запускаю print_r для объекта $ a_remove:
stdClass Object
(
[table] => subjects
[columns] => stdClass Object
(
[0] => `id`
)
[results] => stdClass Object
(
[0] => 36
)
[type] => stdClass Object
(
[0] => i
)
)
Однако, когда я делаю print_r на $ a_remove на моем живом сайте, я получаю следующее:
stdClass Object
(
[table] => subjects
[columns] => stdClass Object
(
[0] => `id`
)
[results] => stdClass Object
(
[0] => 36
[0] =>
)
[type] => stdClass Object
(
[0] => i
)
)
В ответе за «результат» есть этот странный дополнительный индекс. Любые идеи о том, что может быть причиной этого?
Задача ещё не решена.
Других решений пока нет …