Ik gebruik de volgende query in mijn Model voor een insert in de database:

public function add_blog_post($post_title, $post_author, $post_content, $post_photo)
{
	$sql	=	"INSERT 
		           INTO `blog_posts` 
					   (`post_title`, `post_author`, `post_content`, `post_photo`) 
			     VALUES(?, ?, ?, ?)";					 
	$stmt = $this->pdo->prepare($sql);
	$stmt->execute(array($post_title, $post_author, $post_content, $post_photo));
}

Hoe kan ik in de Controller checken of de insert succesvol was om op basis daarvan een http_response_code(200); of http_response_code(400); te kunnen versturen

Alvast bedankt
@Thomas. Ik heb daar naar gekeken, maar in alle voorbeelden gebeurt de check in dezelfde functie waar ik de execute status in de controller wil gebruiken. Dus ik dacht om het volgende in het Model te gebruiken:

$status	=	$stmt->execute(array($post_title, $post_author, $post_content, $post_photo));
return $Status;

Maar daarna loop ik vast. Hoe gebruik ik die $status vervolgens in de Controller. Verontschuldig mijn onwetendheid maar ik heb echt geen idee en jijj blijkbaar wel dus alle hulp zou van harte welkom zijn. Alvast bedankt
Als je model een true/false retourneert, kun je in de controller volstaan met een if/else:


if ($this->model->add_blog_post(...)) {
    // 200 OK
} else {
    // 400 Bad Request 
}
<?php
$status    =    $stmt->execute(array($post_title, $post_author, $post_content, $post_photo));
return $Status;
?>

Let op: $[color=#ff0000]s[/color]tatus vs $[color=#ff0000]S[/color]tatus.

Ook kun je dit simpelweg vereenvoudigen tot:
<?php
return $stmt->execute(array($post_title, $post_author, $post_content, $post_photo));
?>

Het is niet nodig om hier (in dit geval) een aparte variabele voor te introduceren.
Ward van der Put op 21/05/2018 15:33:59

Als je model een true/false retourneert, kun je in de controller volstaan met een if/else:


if ($this->model->add_blog_post(...)) {
    // 200 OK
} else {
    // 400 Bad Request 
}


@Ward van der Put. Dat werkt perfect Ward. Hartelijk dank




[size=xsmall]Toevoeging op 21/05/2018 16:41:28:[/size]

Thomas van den Heuvel op 21/05/2018 15:54:12

<?php
$status    =    $stmt->execute(array($post_title, $post_author, $post_content, $post_photo));
return $Status;
?>

Let op: $[color=#ff0000]s[/color]tatus vs $[color=#ff0000]S[/color]tatus.

Ook kun je dit simpelweg vereenvoudigen tot:
<?php
return $stmt->execute(array($post_title, $post_author, $post_content, $post_photo));
?>

Het is niet nodig om hier (in dit geval) een aparte variabele voor te introduceren.

@Thomas. Hartelijk bedankt voor de input Thomas.

Reageren