Problème d'exécution script SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème d'exécution script SQL

Re: Problème d'exécution script SQL

par laurent001 » 26 janv. 2016, 00:26

Oups, désolé de répondre si tardivement, j' étais en train de souper.

Tu as raison, je comprends pas comment j' ai pas fais plus attention, il me semblais pourtant avoir passé toutes les commandes à mysqli y compris les query et les fetch.

Merci, je vais donc revérifier cela maintenant .

Re: Problème d'exécution script SQL

par Patriboom » 25 janv. 2016, 23:16

Bonjour Laurent,

d'abord, tu as changé la variable $cn pour $db. Je ne comprends pas pourquoi.

Disons que nous continuons ci-bas avec ton choix: $db
Aussi, quand on passe à mysqli, on passe toutes les commandes à mysqli, donc tes query devraient l'être aussi, tes fetch aussi.

Code : Tout sélectionner

if(!mysql_query($query.';')){ $errmsg = "query ".$query." failed"; return false; } } return true; } ?>
devrait devenir, conformément à http://php.net/manual/fr/mysqli.query.php

Code : Tout sélectionner

if(!mysqli_query($db, $query.';')){ $errmsg = "query ".$query." failed"; return false; } } return true; } ?>

Re: Problème d'exécution script SQL

par laurent001 » 25 janv. 2016, 18:05

Oui donc mysql_connect se trouve dans config.inc.php dont voici la partie :

Comme dans le script avant que j' ai modifier :

// Se connecter à la base de données
$cn = mysql_connect($db_host, $db_user, $db_pass) or die("Impossible de se connecter à la base de donnée MySql");
mysql_select_db($db_name) or die("Erreur d'accès base de donnée MySql");


Et je l' ai modifier comme ceci :


// Se connecter à la base de données
$db = mysqli_connect ($db_host,$db_user, $db_pass, $db_base);

Quand à mysql_query dans plusieurs autres dossiers dont le setup ou sa se présente comme ceci avant que je modifie:

<?php

@set_time_limit(0);
@ignore_user_abort(true);

require_once("../initvars.inc.php");
$path_escape = "../";
$in_admin = TRUE;
require_once("{$path_escape}config.inc.php");

$script_url = preg_replace('~setup$~','',$script_url);

function mysql_import_file($filename, &$errmsg)
{
$lines = file($filename);
if(!$lines){
$errmsg = "cannot open file $filename";
return false;
}
$scriptfile = false;
foreach($lines as $line){
$line = trim($line);
if(!ereg('^--', $line)){
$scriptfile.=" ".$line;
}
}
if(!$scriptfile)
{
$errmsg = "no text found in $filename";
return false;
}
$queries = explode(';', $scriptfile);
foreach($queries as $query){
$query = trim($query);
if($query == "") { continue; }

if(!mysql_query($query.';')){
$errmsg = "query ".$query." failed";
return false;
}
}
return true;
}
?>

Re: Problème d'exécution script SQL

par Patriboom » 25 janv. 2016, 16:58

Bonjour Laurent,

tandis que tu as trouvé ton code, tu peux nous en copier la partie incriminée ( mysql_query ou mysql_connect sont les commandes qui nous intéressent ici ) ,

Re: Problème d'exécution script SQL

par or 1 » 25 janv. 2016, 16:31

trouve les requêtes sql qui sont exécutées dans le script d’installation et exécutes les manuellement dans phpmyadmin.

Re: Problème d'exécution script SQL

par laurent001 » 25 janv. 2016, 16:27

voilà donc j' ai passé la nuit jusqu' à maintenant à encore bosser dessus, j' ai analysé l' entièreté du script et modifier mysql par mysqli à tout les niveau, j' ai aussi téléchargé un converter mysql --->>mysqli , maintenant sa me dit que le script est installé mais sa ne charge pas la base de données .

Je commence à me demandé si je vais y arrivé un jour mdr !

Re: Problème d'exécution script SQL

par laurent001 » 23 janv. 2016, 22:59

cool merci je vais m' atteler à cela.

Re: Problème d'exécution script SQL

par Patriboom » 23 janv. 2016, 22:38

Pas de souci,

fais seulement la recherche dans tes fichiers des mots « construc » et « mysql_connect » Ça devrait te mener au fichier qui établit la connexion à la base de données. Ensuite, il suffira de modifier ce fichier pour le mettre à jour.

Re: Problème d'exécution script SQL

par laurent001 » 23 janv. 2016, 22:23

j' ai tenté de créer manuellement mes table et donc de charger manuellement ma base de donnée mais sa ne fonctionne pas puisque le scripte n' est prend pas en compte la base de donnée.

Tant que j' aurais pas su résoudre cela sa ne peut pas fonctionner comme il faut forcément.

J' ai lu que tu es incapable de télécharger cet outil (phpannonces), le scripte complet je l' ai donc sa je sais te le faire parvenir.

Effectivement ils ont pas renouvelé leur accès.

Pour ma part, il me semble que il n' y à que dans le répertoire "setup" et ses 4 sous répertoires qu' il faut apporté les modifications nécessaire au bon fonctionnement,

Mais pas évident, sa fait maintenant une semaine à approximativement que je travaille là dessus car pendant ce temps mon site est forcément inaccessible de par ce fait.

Cela dit, je te remercie pour l' aide et les conseils que tu m' à déjà donné .

Re: Problème d'exécution script SQL

par laurent001 » 23 janv. 2016, 22:03

donc habituellement c' est ce que je fais, je passe par le fichier config.inc.php ou je renseigne mes info de connection à la base de donnée et sa charge les tables

Mais à présent sa ne le fait plus et pour cause, la version n' est plus d' actualité, je dois comme tu me l''à dit plus haut, passer de mysql à mysqli.

J' ai essayé manuellement, comme sa n' était pas concluant, j' ai téléchargé un convertisseur mysql -->>mysqli mais sa me donne le même résultat, je pense qu' il y à pas le chois, faut le faire manuellement, mais j' y arrive pas, je dois certainement omettre quelque chose.

Pour l' instant je ne sais pas trop comment solutionner !

Re: Problème d'exécution script SQL

par laurent001 » 23 janv. 2016, 21:46

Oui donc sa fait près de 5 ans que j' utilise mon script, jusque il y à peu je savais l' installer sans soucis.

Je viens d' utiliser un converter qui permet de convertir un bout de code mysql en mysqli

Alors je lance l' installation, sa me dis que l' installation à réussi, mais quand je vérifie si les tables ont bien été crée comme il se doit, ben la base de donnée est vide.

donc là je suis bloqué.

Re: Problème d'exécution script SQL

par Patriboom » 23 janv. 2016, 20:46

Laurent,

je suis incapable de télécharger cet outil (phpannonces), car le développeur ne semble pas avoir renouvelé son accès à GoDaddy.

Habituellement, le bons outils donnent aussi l'explication des variable et des constantes à inscrire.
Dans ton fichier config.inc.php, tu devrais trouver ce type d'informations.
Selon ce que nous voyons dans le code que tu as copié ci-haut: tu devrais te trouver en mode "Installation" ou "Admin" afin de définir tes premières constantes: Nom du site, lieu géographique, nom de la base de données, nom des tables, usager, mot de passe.
Avant de commencer ton installation en local, il faut que tu définisses ton usager et son mot de passe à l'aide de PhpMyAdmin.
Définis aussi ta base de données, tandis que tu y es.
Ensuite, tu pourras lancer phpannonces qui te demandera le nom de la base de données, l'usager et le mot de passe. Reprends alors ce que tu as précédemment enregistré à l'aide de phpmyadmin.

Re: Problème d'exécution script SQL

par Patriboom » 23 janv. 2016, 20:33

Bonjour Laurent,

si je comprends bien, tu tentes d'installer http://scripts.toucharger.com/fiches/sc ... s/5439.htm

Re: Problème d'exécution script SQL

par laurent001 » 23 janv. 2016, 18:52

voilà, donc j' ai trouvé le répertoire ou il faut faire les modification, il s' agit du répertoire : setup

Quand je modifie par mysqli sa me dit que c' est installé, mais quand je vérifie si mes tables sont crée, elles le sont pas donc la base de donnée reste à 0 !

J' ai tenté plusieurs modifications mais en vain.

Probablement une partie que je ne fais pas correctement je suppose.

Voici comment l' originale se présente :

<?php

@set_time_limit(0);
@ignore_user_abort(true);

require_once("../initvars.inc.php");
$path_escape = "../";
$in_admin = TRUE;
require_once("{$path_escape}config.inc.php");

$script_url = preg_replace('~setup$~','',$script_url);

function mysql_import_file($filename, &$errmsg)
{
$lines = file($filename);
if(!$lines){
$errmsg = "cannot open file $filename";
return false;
}
$scriptfile = false;
foreach($lines as $line){
$line = trim($line);
if(!ereg('^--', $line)){
$scriptfile.=" ".$line;
}
}
if(!$scriptfile)
{
$errmsg = "no text found in $filename";
return false;
}
$queries = explode(';', $scriptfile);
foreach($queries as $query){
$query = trim($query);
if($query == "") { continue; }

if(!mysql_query($query.';')){
$errmsg = "query ".$query." failed";
return false;
}
}
return true;
}
?>
<html>
<head>
<title>Phpannonces v1.3 - installation de la base de données</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
<br>
<div style="margin:20px 100px;">
<h2>Phpannonces v1.3 - installation de la base de données</h2>
<?php

if($_POST['confirm'])
{
?>
<p>
<?php

require_once("sql.inc.php");

$error = 0;
foreach ($sqls as $t=>$sql)
{
mysql_query($sql);

if(mysql_error())
{
if($debug)
{
echo "<div class=\"err\">Erreur création table $t - (".mysql_error().")</div>";
}
$error = 1;
}
}


mysql_import_file('phpas.sql', $errmsg);


if($error)
{
echo "<p>La configuration de la base de données n'a <span class=\"err\">pas réussi</span>.<br><br><u>Modifier</u> les <u>paramètres de connexions</u> dans le <u>fichier config.inc.php</u> et <a href=\"dbsetup.php\"><b>essayez à nouveau</b></a>.</p>";
}
else
{
echo "<p>Phpannonces est installé.</p>";
echo '<p style="color: red;"><b>Attention : veuillez supprimer le dossier setup de votre hébergement.</b></p>';
echo "<p>Se rendre à <a href=\"$script_url\">Accueil</a> | <a href=\"$script_url/admin/\">Administration</a></p>";

// Delete files
unlink('dbsetup.php');
unlink('index.php');
unlink('sql.inc.php');
unlink('phpas.sql');
rmdir('setup');
}
}
else
{
?>

<form action="" method="post">

<br><br>
<p>Voici les paramètres de connexion de la base de données spécifiée dans le fichier "config.inc.php".<br><br>
Vérifiez les détails puis cliquez sur <b>installer</b> pour configurer la base de données.<br><br>
Ouvrez le fichier "config.inc.php" dans un éditeur de texte comme Notepad et faite les changements nécessaires si l'une des informations ci-dessous est erroné.</p>
<br><br>
<p><table>
<tr><td style="width:120px"><b>MySQL host: </b></td><td> <?php echo $db_host; ?></td><td><i style="font-size:11px;padding-left:10px;">(Si vous ne le connaissez pas vous devrez demander cette information à votre hébergeur.)</i></td></tr>
<tr><td colspan="3"></td></tr>
<tr><td style="width:120px"><b>MySQL user: </b></td><td> <?php echo $db_user; ?></td><td><i style="font-size:11px;padding-left:10px;">(Votre identifiant MySQL.)</i></td></tr>
<tr><td colspan="3"></td></tr>
<tr><td style="width:120px"><b>MySQL psw: </b></td><td> <?php echo $db_pass; ?></td><td><i style="font-size:11px;padding-left:10px;">(Votre mot de passe MySQL.)</i></td></tr>
<tr><td colspan="3"></td></tr>
<tr><td style="width:120px"><b>MySQL name: </b></td><td> <?php echo $db_name; ?></td><td><i style="font-size:11px;padding-left:10px;">(Le nom de la base dans laquelle vous voulez installer phpannonces.)</i></td></tr>
<tr><td colspan="3"></td></tr>
<tr><td style="width:120px"><b>Prefixe : </b></td><td> <?php echo $tprefix; ?></td></tr>
</table></p>
<p style="color:red;font-weight:bold;">Le processus d'installation peut durée plusieurs secondes, ne fermer pas la fenêtre de votre navigateur.</p>
<button type="submit" name="confirm" value="Setup">Installer » </button>

</form>
</div>
<?php
$_cmd = "ZWNobyAiPGltZyB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYm9yZGVyPVwiMFwiIHNyYz1cImh0dHA6Ly93d3cucGhwYW5ub25jZXMuY29tL3RyYWNrZXIucGhwP3BhZ2U9aW5zdGFsbCZjbGllbnRfdmFsaWRlPSRwYXlwYWxfZW1haWxcIiAvPiI7";
eval(base64_decode(stripslashes($_cmd)));
?>
</body>
</html>
<?php
}
?>

Re: Problème d'exécution script SQL

par laurent001 » 23 janv. 2016, 15:53

Je te remercie pour les infos, je check et te tiendrais au courant !