Полный отказ от ответственности Я никогда раньше не баловался с хранимыми процедурами, но довольно компетентен в регулярных запросах. Я не получаю результатов от этого теста хранимой процедуры, который я создал, и я знаю, что есть результаты, поскольку я могу получить их из «нормального» запроса. Что я делаю не так с этим?
CREATE PROCEDURE get_snet(
IN one VARCHAR(255),
IN two VARCHAR(255)
)
BEGIN
SELECT
IFNULL( (SELECT cats FROM results081219 WHERE url = @one LIMIT 1), '') AS cats1,
IFNULL( (SELECT cats FROM results081219 WHERE url = @two LIMIT 1), '') AS cats2;
END
$$
DELIMITER ;
php:
<code>$parsed1 = 'google.com';
$parsed2 = 'gmail.com';
//stored procedure way
$stmt = $dbnet->prepare("
CALL get_snet(:parsed1, :parsed2);
");
$binding = array(
'parsed1' => $parsed1,
'parsed2' => $parsed2
);
$stmt->execute($binding);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo "<pre>";
print_r($results);
echo "
";
Результаты:
Array
(
[0] => Array
(
[cats1] =>
[cats2] =>
)
)
Также естьТребуется определить VARCHAR (xxx) для строк в хранимой процедуре? В моем обычном запросе, поскольку эта строка предоставляется php, определенной длины нет, и я хотел бы оставить ее такой же.