PHP подключиться к SQL не выдает сообщение об ошибке

Я пытаюсь использовать PHP для подключения к моей базе данных SQL с помощью

$conn = new COM ("ADODB.Connection")

Я пытаюсь запустить команду try / catch, чтобы убедиться, что в случае возникновения ошибки я могу ее перехватить.
Поэтому я подделываю сообщение об ошибке на странице, но вместо того, чтобы выдавать ошибку, сценарий просто останавливается в этот момент, а страница не продолжается.

Я ищу способ показать или сообщить мне о проблеме. Что-то вроде эквивалента бросания 500 страниц.

Вот как сейчас выглядит мой сценарий. Обратите внимание, я вставил дополнительную одиночную кавычку в оператор вставки, чтобы вызвать ошибку, чтобы я мог ее проверить.
echo «после» не отображается на странице.

//create an instance of the  ADO connection object
$conn = new COM ("ADODB.Connection")
or die("Cannot start ADO");

//define connection string, specify database driver
$connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";  PWD=".$myPass.";DATABASE=".$myDB;
$conn->open($connStr); //Open the connection to the database

//declare the SQL statement that will query the database
$query =  "INSERT INTO dbo.EventOnlineAppsIndividual (EventId, FirstName, LastName, Address, City, [State], Zip, Email) VALUES (". $_POST['id'] .", ''" . $_POST['FirstName'] ."','". $_POST['LastName']."', '". $_POST['Address']."','".$_POST['City']."', '". $_POST['State']."', '". $_POST['Zip']."', '".$_POST['email'] . "')" ;
echo $query . "<br before:<br>";
var_dump($query);

//execute the SQL statement and return records
$rs = $conn->execute($query);
echo "after";

1

Решение

Извините за не совсем понимание вопроса. Ниже будет ваш код в блоке try-catch. Я выдаю ошибку, если метод execute не работает. Будет выведена строка «Запрос не выполнен».

try{
//create an instance of the  ADO connection object
$conn = new COM ("ADODB.Connection")
or die("Cannot start ADO");

//define connection string, specify database driver
$connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";  PWD=".$myPass.";DATABASE=".$myDB;
$conn->open($connStr); //Open the connection to the database

//declare the SQL statement that will query the database
$query =  "INSERT INTO dbo.EventOnlineAppsIndividual (EventId, FirstName, LastName, Address, City, [State], Zip, Email) VALUES (". $_POST['id'] .", ''" . $_POST['FirstName'] ."','". $_POST['LastName']."', '". $_POST['Address']."','".$_POST['City']."', '". $_POST['State']."', '". $_POST['Zip']."', '".$_POST['email'] . "')" ;
echo $query . "<br before:<br>";
var_dump($query);

//execute the SQL statement and return records
$rs = $conn->execute($query);
if(!$rs) {
throw new Exception('Query did not execute')
}
//This echo still wont be hit. unless you move it to the catch block.
echo "after";

}
catch (Exception $e) {
echo $e->getMessage();
exit();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]