/** * Permet d'exécuter n'importe quel type de requête * A utiliser pour autre chose que les selects... */ public function db_exec($sql,$datas=NULL){ return $this->requete($sql,$datas); }
$sql = "UPDATE tFruits SET name = :name WHERE id = :id"; $datas = array(':name'=>"test",':id'=>1); db_exec($sql,$datas);
function db_prep($sql){ return $this->connexion_bdd->prepare($sql); }
$datas = array("test",1);
function update(){ // update query $query = "UPDATE " . $this->table_name . " SET name = ? WHERE id = ?"; $datas = array($name,$id); db_exec($query,$datas); return false; }
/** * Permet d'exécuter n'importe quel type de requête * A utiliser pour autre chose que les selects... */ public function db_exec($sql,$datas=NULL){ return $this->requete($sql,$datas); }
// update the product function update(){ $query = "UPDATE users SET name = ? WHERE id = ?"; $datas = array($name,$id); $result = $this->db_exec($query,$datas); // execute the query if($result->execute()){ return true; } return false; }
<?php // required headers header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8"); header("Access-Control-Allow-Methods: POST"); header("Access-Control-Max-Age: 3600"); header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"); // include database and object files include_once '../config/dbase.php'; include_once '../objects/tfruits.php'; // get database connection $database = new Database(); // prepare fruit object $fruit = new Fruit(); // get id of fruit to be edited $data = json_decode(file_get_contents("php://input")); // set ID property of fruit to be edited $fruit->id = $data->id; // set fruit property values $fruit->name = $data->name; // update the fruit if($fruit->update()){ // set response code - 200 ok http_response_code(200); // tell the user echo json_encode(array("message" => "fruit was updated.")); } // if unable to update the fruit, tell the user else{ // set response code - 503 service unavailable http_response_code(503); // tell the user echo json_encode(array("message" => "Unable to update fruit.")); } ?>
Notice: Trying to get property of non-object in ...\fruit\update_fruit.php on line 23la ligne en question :
// set ID property of fruit to be edited
$fruit->id = $data->id;
Notice: Trying to get property of non-object in ...\fruit\update_fruit.php on line 26la ligne en question :
// set fruit property values
$fruit->name = $data->name;
Notice: Undefined variable: name in ...\objects\tfruits.php on line 68la ligne en question :
$datas = array($name,$id);
$data = json_decode(file_get_contents("php://input"));
function update(){ // update query $query = "UPDATE " . $this->table_name . " SET name = ? WHERE id = ?"; $datas = array($name,$id); db_exec($query,$datas); return false; }
// update the product function update(){ $query = "UPDATE users SET name = ? WHERE id = ?"; $datas = array($name,$id); $result = $this->db_exec($query,$datas); // execute the query if($result->execute()){ return true; } return false; }
function update(){ // update query $query = "UPDATE " . $this->table_name . " SET name = ? WHERE id = ?"; $datas = array($name,$id); return db_exec($query,$datas); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question$data = json_decode(file_get_contents("php://input"));
$data = json_decode(file_get_contents("php://input"));pour pouvoir obtenir les variables $data->id; et $data->name; ???
fais donc un var_dump de ta variable et regarde ce qu'elle contient.....
$data = !empty(json_decode($HTTP_RAW_POST_DATA)) ? json_decode($HTTP_RAW_POST_DATA) : json_decode(file_get_contents('php://input'));
C:\wamp64\www\chatbot\fruit\vardump.php:5: object(stdClass)[5] public 'records' => array (size=4) 0 => object(stdClass)[1] public 'id' => string '1' (length=1) public '0' => string '1' (length=1) public 'name' => string 'Banane' (length=6) public '1' => string 'Banane' (length=6) 1 => object(stdClass)[2] public 'id' => string '2' (length=1) public '0' => string '2' (length=1) public 'name' => string 'carotte' (length=7) public '1' => string 'carotte' (length=7) 2 => object(stdClass)[3] public 'id' => string '3' (length=1) public '0' => string '3' (length=1) public 'name' => string 'tomate' (length=6) public '1' => string 'tomate' (length=6) 3 => object(stdClass)[4] public 'id' => string '4' (length=1) public '0' => string '4' (length=1) public 'name' => string 'poireau' (length=7) public '1' => string 'poireau' (length=7)
$HTTP_RAW_POST_DATAest obsolète. C'est pour quoi j'ai utilisé
php://input
$data = json_decode(file_get_contents("php://input"));
25 janv. 2019 à 12:03
Vous avez parfaitement raison.
Au fait, cet API je l'ai fait sur MySQL et marche parfaitement.
Maintenant je veux utiliser SQL SERVER.
Modifié le 25 janv. 2019 à 12:10
INSERT ... SET.. ça ne marchera pas en SqlServer....
Et pour les requêtes préparées .. tu ne peux plus utiliser de paramètres nommés.
Il faut utiliser les "?" (et attention à respecter l'ordre pour qu'il corresponde à celui des la requete)
Donc :
est à remplacer par :