English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função mysqli_stmt_sqlstate() retorna o erro SQLSTATE da última operação de instrução
mysqli_stmt_sqlstate()A função retorna o erro SQLSTATE ocorrido durante a execução da última consulta.
mysqli_stmt_sqlstate($stmt);
Número | Parâmetros e descrições |
---|---|
1 | stmt (obrigatório) Este é um objeto que representa a instrução (pré-preparada). |
A função PHP mysqli_stmt_sqlstate() retorna um valor de string que representa o erro SQLSTATE ocorrido durante a execução da última consulta. Se não houver erro, a função retorna00000.
Esta função foi inicialmente introduzida na versão do PHP5introduzido e pode ser usado em todas as versões mais recentes.
Aqui está um exemplo de como usarmysqli_stmt_sqlstate()Uso da função (estilo orientado a procedimentos)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, 'CREATE TABLE emp(ID INT, PrimeiroNome VARCHAR(20))"); print("Criar tabela.....\n"); $stmt = mysqli_prepare($con, "INSERT INTO emp (ID) VALUES (?)"); mysqli_stmt_bind_param($stmt, "s", $id); $id = 'test'; //Executar declaração mysqli_stmt_execute($stmt); //State $state = mysqli_stmt_sqlstate($stmt); print("estado: ".$state); //Fim da declaração mysqli_stmt_close($stmt); //Fechar conexão mysqli_close($con); ?>
Resultados de saída
Criar tabela..... state: 'HY000'
No estilo orientado a objetos, a sintaxe da função é$con-> sqlstateAqui está um exemplo de estilo orientado a objetos para esta função-
<?php //Conectar $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE myplayers(ID INT, Nome_Primeiro VARCHAR (255), Sobrenome VARCHAR (255), Lugar_Nascimento VARCHAR (255), País VARCHAR (255))"); print("Criar tabela.....\n"); $con -> query("INSERT INTO myplayers VALUES (1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("Inserir registro.....\n"); $stmt = $con ->prepare("SELECT * FROM myplayers"); $con ->query("DROP TABLE myplayers"); //Executar declaração $stmt->execute(); //Estado SQl $state = $stmt ->sqlstate; print("Estado SQL: ".$state); //Fim da declaração $stmt->close(); //Fechar conexão $con->close(); ?>
Resultados de saída
Criar tabela..... Inserir registro..... Estado SQL: 42S02
Aqui estámysqli_stmt_sqlstate()Outro exemplo de função-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, 'CREATE TABLE emp(ID INT, PrimeiroNome VARCHAR(20), Sobrenome VARCHAR(5), DataDeNascimento VARCHAR(255), Salário INT)"); print("Criar tabela.....\n"); $stmt = mysqli_prepare($con, 'INSERT INTO emp values(?, ?, ?, ?, ?'); mysqli_stmt_bind_param($stmt, 'isssi', $id, $fname, $lname, $pob, $country); $id = 1; $fname = 'Swetha'; $lname = 'Yellapragada'; $dob = DATE('1981-12-05); $country = 2366; //Executar declaração mysqli_stmt_execute($stmt); //Avisos $state = mysqli_stmt_sqlstate($stmt); print("estado: ".$state); //Fim da declaração mysqli_stmt_close($stmt); //Fechar conexão mysqli_close($con); ?>
Resultados de saída
Criar tabela..... estado: 22001