Ich versuche, gespeicherte Prozedur in CakePHP zu erstellen. Ich habe Prozedur in MYSQL erstellt und globale Funktion in AppModel.php zu Hit-Prozedur erstellt. Die Funktion in AppModel ist sProcedure. Jetzt habe ich 2 Bedingungen, die ich Variable haben könnte, um von der Prozedur zurückzukommen, oder kann direkt resultset haben zB. Ich habe für Paginierung erstellt. Obwohl es mein Verfahren schießt, aber kein Ergebnis zurückgibt. Muss meine Funktion geändert werden?CakePHP mit gespeicherter Prozedur
public function sProcedure($name = NULL, $inputParameter = array(), $outputParameter = array()) {
$this->begin();
$parameter = "";
$outputParam = "";
foreach ($inputParameter as $params) {
$parameter .= $parameter == "" ? " '$params' " : ", '$params' ";
}
if (count($outputParameter) > 0) {
foreach ($outputParameter as $prm) {
$outputParam .= $outputParam == "" ? " @$prm " : ", @$prm ";
}
}
$parameter = ($outputParam) ? $parameter . ", " . $outputParam : $parameter;
$this->query("CALL `$name`($parameter);");
$result = $this->query("SELECT $outputParam");
$this->commit();
return $result;
}
$sel_data = $this->ArticleNews->sProcedure("update_blank", $input_prameter, $output);
debug($sel_data);
erhalten Sie einen Fehler –
Ich bin nicht immer Fehler, My Verfahren auch ausgeführt wird. Aber ich möchte wissen, wie man die Ausgabe von der Prozedur nimmt. Verwenden derselben Funktion. Egal, ob ich Resultset oder Variablen ausgegeben habe. – Sankalp
@Sankalp ist die Prozedur, die legitime Werte zurückgibt, wenn sie direkt von MySQL aufgerufen werden (ohne PHP)? Außerdem führt $ this-> query den übergebenen Query String aus und gibt (falls nicht fehlgeschlagen) eine Ressource zurück, die iteriert werden soll. – sitilge