我试图删除一些“占用数据”行。 (表)但是有一个外来约束,所以我做了一个小的PHP脚本来删除其他表中链接的数据,并在占用数据后删除它。
当我运行脚本时,我看到在浏览器中加载但没有任何显示,我应该使用哪些工具来调试它?
谢谢
Goldiman
这是我的代码:
<?php
error_reporting(E_ALL);
set_time_limit(60000); // There are more than 30 tables and 380 primary key to delete, may take time
ini_set("display_errors", 1);
$tupleasup = array(
'13-1199.05',
'13-1023.00',
'13-1022.00',
'53-6031.00'
); //Contain the primary key of the row
$table = array(
'abilities',
'education_training_experience',
'green_occupations',
'occupation_data'
);
try {
$VALEUR_hote = '**********';
$VALEUR_port = '******';
$VALEUR_nom_bd = '********';
$VALEUR_user = '*******';
$VALEUR_mot_de_passe = '*******'; //Working connection setting
$connexion = new PDO('mysql:host=' . $VALEUR_hote . ';port=' . $VALEUR_port . ';dbname=' . $VALEUR_nom_bd, $VALEUR_user, $VALEUR_mot_de_passe);
$connexion->exec("SET NAMES 'UTF8'");
$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "toto"; // This message is not displayed
foreach ($tupleasup as $codeOnet) {
foreach ($table as $nomTable) {
$query = "DELETE FROM " . $nomTable . " WHERE onetsoc_code =" . $codeOnet;
$resultats = $connexion->query($query);
}
echo "Supprimé" . $codeOnet; // This message is not displayed too.
}
}
catch (PDOException $e) {
echo 'Échec lors de la connexion : ' . $e->getMessage();
}
?>
答案 0 :(得分:0)
我认为你需要重写你的PDO连接。你可以使用这个:
$connexion = new PDO(sprintf('mysql:host=%s;port=%s;dbname=%s', $VALEUR_hote, $VALEUR_port, $VALEUR_nom_bd), $VALEUR_user, $VALEUR_mot_de_passe);
或者这(注意:带双引号):
$connexion = new PDO("mysql:host=$VALEUR_hote;port=$VALEUR_port;dbname=$VALEUR_nom_bd", $VALEUR_user, $VALEUR_mot_de_passe);