gpt4 book ai didi

php - 为什么 php-pdo 不插入值

转载 作者:行者123 更新时间:2023-11-29 09:45:20 26 4
gpt4 key购买 nike

我正在设置使用 PDO 执行一个简单的查询。但是,当我运行它时,它不会插入。数据库称为“known”,表称为“pessoas”,仅包含两列(codigo 和 nome)。连接有效,但当我执行时返回“保存错误”。

<?php

function getConnection(){
$dsn = 'mysql:host=localhost;bdname=pessoas';
$user = 'root';
$password = 'init4289';

try{
$pdo = new PDO($dsn, $user, $password);
echo 'SUCESSO AO CONECTAR!';
return $pdo;
}catch(PDOExeption $ex){
echo 'erro: '. $ex->getMessage();
}
}
?>
#end page "conexao_pdo.php"


<?php
include 'conexao_pdo.php';

$conn = getConnection();

$sql = "INSERT INTO famosos (codigo, nome) VALUES (?, ?)";

$stmt = $conn->prepare($sql);
$stmt->bindValue(1, 6);
$stmt->bindValue(2, 'Antonio');


if($stmt->execute()){
echo 'Success to save';
}else{
echo '<p>'.'Error to save';
}
?>

最佳答案

您可以考虑以下事项:

  • 可能只是一个输入错误 - bdname 应该是 'mysql:host=localhost;bdname=pessoas' 中的 dbname
  • 数据库和表名称 - 问题中的 'known''pessoas''pessoas''known' 代码中
  • 使用 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION 包含异常处理
  • 您的函数 getConnection() 失败时应返回 false

根据您的问题编写代码:

<?php
function getConnection(){
$dsn = 'mysql:host=localhost;dbname=pessoas';
$user = 'root';
$password = 'init4289';

try {
$pdo = new PDO(
$dsn,
$user,
$password,
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
echo 'SUCESSO AO CONECTAR!';
} catch (PDOExeption $ex){
echo 'Error: '. $ex->getMessage();
return false;
}

return $pdo;
}
?>

<?php
include 'conexao_pdo.php';

// Connection
$conn = getConnection();
if ($conn === false) {
exit;
}

// Statement
try
$sql = "INSERT INTO famosos (codigo, nome) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bindValue(1, 6);
$stmt->bindValue(2, 'Antonio');
if ($stmt->execute()) {
echo 'Success to save';
} else {
echo '<p>'.'Error to save';
}
} catch (PDOExeption $ex){
die ('Error: '. $ex->getMessage());
}
?>

关于php - 为什么 php-pdo 不插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55789074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com