Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Clauido José

Instrução preparada

Recommended Posts

Ola pessoal estou fazendo o treinamento de php no site w3schools estou indo bem estou no modulo de banco de dados e tem um exercício que cria uma instrução para executar os mesmos (ou similares) instruções SQL repetidamente com alta eficiência. No exemplo funciona ok. Mas não grava no banco veja o exercício como é.

<?php
			$servername = "localhost";
			$username = "root";
			$password = "root";
			$dbname = "laitally";
			
			$servername = "localhost";
			$username = "root";
			$password = "root";
			$dbname = "laitally";
			
			// Create connection
			$conn = mysqli_connect($servername, $username, $password, $dbname);
			// Check connection
			if ($conn->connect_error) {
				die("Connection failed: " . $conn->connect_error);
			}
			
			// prepare and bind
			$stmt = $conn->prepare("INSERT INTO cardapio (titulo, descricao) VALUES (?, ?)");
			$stmt->bind_param("sss", $titulo, $descricao);
			
			// set parameters and execute
			$titulo = "Calabreza";
			$descricao = "";
			$stmt->execute();
			
			$titulo = "Mussarela";
			$descricao = "";
			$stmt->execute();
			
			$titulo = "Quatro Queijo";
			$descricao = "";
			$stmt->execute();
			
			echo "Registro cadastrado com sucesso";
			
			$stmt->close();
			$conn->close();
		?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste trecho, você espera dois parametros

// prepare and bind
$stmt = $conn->prepare("INSERT INTO cardapio (titulo, descricao) VALUES (?, ?)");

e envia três "sss" = 3

$stmt->bind_param("sss", $titulo, $descricao); 

Uma forma de descobrir erros, é usando $mysqli->error

$mysqli = new mysqli('localhost', 'user', 'pass');
$q = "UPDATE foo SET bar=1";
($statement = $mysqli->prepare($q)) or trigger_error($mysqli->error, E_USER_ERROR);
$statement->execute() or trigger_error($statement->error, E_USER_ERROR);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.