У меня есть следующий код.
public function load($data)
{
$result = Database::select("SELECT * FROM 'table1' ORDER BY 'id' LIMIT ? OFFSET ? ;", $data, "ii");
if ($result->num_rows > 0)
{
while ($row = $result->fetch_assoc())
{
$this->_data['data'][] = $row;
}
}
}
public static function select($sql, $data, $types)
{
try
{
self::connect();
$stmt = self::$connection->prepare($sql);
if ($stmt === false)
{
echo mysqli_error(self::$connection);
}
call_user_func_array('mysqli_stmt_bind_param', array_merge (array($stmt, $types), makeValuesToReferences($data)));
$stmt->execute();
return $stmt->get_result();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
В таблице 1 есть текстовое поле, в котором хранятся текст и URL-адреса.
Проблема. Эти URL-адреса, хранящиеся в поле данных с именем text, имеют параметры, которые объединяются с помощью скобок. Print_r выглядит так:
[id] => 23
[text] => Some text <a href=/search.html?q=something else
[param1] => 29 <== param1 is a parameter of <a href=/search.html?q=something...
[param2] => 9>word</a>more text <== param2 is a parameter of <a href=/search.html?q=something...
Обычно содержимое поля в тексте выглядит так:
Some text <a href='/search.html?q=something+else¶m1=25¶m2=1 '>word</a> more text
Вопрос
Почему эти параметры конкатенируются с помощью скобок?
РЕДАКТИРОВАТЬ
Это то, чего я жду
Some text <a href='/search.html?q=something+else¶m1=25¶m2=1 '>word</a> more text
Это то, что я получаю
Some text <a href='/search.html?q=something else [param1] => 25 [param2] => 1' word</a>more text
Я нашел проблему. В вызывающем скрипте была функция parse_str
. Таким образом, URL-адреса "таблицы" таблицы базы данных были преобразованы в пары [key] => value
.
Спасибо за ваше время ;-)