у меня есть этот код, который соединит в базу данныхошибки при попытке вставить в базу данных в функции
(config.php)
<?php
try{
$ponte_db = new PDO ("mysql:host=localhost;dbname=helloius", "asasa", "6233");
}catch (PDOException $e) {
$data = date("d/m/Y H:i:s ");
$mensagem = "Erro no banco de dados:<br>".$e->getMessage()."<br>"."Ocorrido em: ".$data;
mail('[email protected]', 'Erro Banco de Dados', $mensagem);
echo '<script>alert("Desculpe,mas os nossos servidores estao sendo reparados neste exato momento,tente em uma outra hora!");</script>';
}
?>
Ну в другом проекте (кто делает вставку) я этот код
<?php
include ('config.php');
function DoConfig($param_data){
$info_config = $ponte_db->prepare("INSERT INTO config (r1) VALUES (:a)");
$info_config->bindValue(":a", $paran_data);
$info_config->execute();
}
if($_SERVER['REQUEST_METHOD'] == 'POST'){
if(isset($_POST['data_id']) && $_POST['data_id'] != NULL){
$data = $_POST['data_id'];
DoConfig($data);
}
}
?>
Так что, когда я удалить функцию DoConfig и поставить PDO вставки снаружи, моя база данных может сделать вставку, но в этом случае (вставка внутри функции) моя база данных не получают какой-либо данных, d я получаю эти ошибки:
Undefinied переменная ponte_db
вызов функции-члена подготовить() на не-объект
Как я могу это исправить?
Sidenote: У вас есть опечатка '$ paran_data' в' $ info_config-> bindValue (": а", $ paran_data) ', который следует читать как' $ param_data' согласно 'функции DoConfig ($ param_data) ' –
@ Fred-ii-, Отличная находка! –
Да, однако я уверен, что это просто опечатка, поэтому сообщение об ошибке «набрало» в вопросе OP «Неопределенная переменная ponte_db» @ShankarDamodaran, которая должна читать как «Undefined» ;-) –