Php不执行sql查询和超时

时间:2015-04-29 15:00:04

标签: php mysql

我试图删除一些“占用数据”行。 (表)但是有一个外来约束,所以我做了一个小的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();
}



?>

1 个答案:

答案 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);