我创建了一组辅助函数,让我在 php 中进行数据库操作时更加轻松。本质上,我向函数传递一个 stdClass 对象,然后它们使用该对象执行操作(删除、添加等)或检索信息。除了用于删除数据库条目的辅助函数之外,它们似乎按预期工作。令我沮丧的是,它在运行 WAMP 的本地计算机上运行得很好,但当我将其投入使用时,它拒绝删除数据库条目。
我想我已经将问题范围缩小到一个奇怪的怪癖,我无法解释 WAMP 和我的实时站点之间的 stdClass 对象的输出。
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);
?>
以下是当我在 $a_remove 对象上运行 print_r 时 WAMP 上响应的输出:
stdClass Object
(
[table] => subjects
[columns] => stdClass Object
(
[0] => `id`
)
[results] => stdClass Object
(
[0] => 36
)
[type] => stdClass Object
(
[0] => i
)
)
然而,当我在我的实时网站上对 $a_remove 执行 print_r 时,我得到以下信息:
stdClass Object
(
[table] => subjects
[columns] => stdClass Object
(
[0] => `id`
)
[results] => stdClass Object
(
[0] => 36
[0] =>
)
[type] => stdClass Object
(
[0] => i
)
)
“结果”的响应中有一个奇怪的附加索引。关于可能导致此问题的任何想法?