je n'ai pas de message d'erreur, c'est peut être l'écriture du fichier qui déconne,
d'alleuirs dans la doc il parle de sortie binaire, c'est quoi la sortie binaire ?
j'ai changé mon script, l'insertion des tables fonctionne seulement si je le fait
sur une autre page d'ou le lien "etape 4" (en bas), mmême un header bête ne fonctionne pas
mais j'aimerai bien comprendre d'ou viennent ce genre de problèmes ?
Je n'ai bien sur aucun message d'erreur dans tous les cas.
//////////////////////////////////////////
include('../class/class.pdo1.php');
$connection=new Connection();
$sql="CREATE DATABASE ".$_POST['choixBase'];
echo $sql;
$connection->select($sql);
$message='Votre base à été créé avec succès...';
header('../class/creationTable.php');
$var='<?php
require_once("message.class.php");
class Connection extends PDO
{
private $db = "'.$_POST['choixBase'].'";
private $host = "'.$_POST['serveur'].'";
private $user = "'.$_POST['utilisateur'].'";
private $pwd = "'.$_POST['motPasse'].'";
private $email="'.$_POST['eMail'].'";
private $con; //
private $select; // requette de séléction
private $execute; // requette d\'execution
private $result; //
private $dns;
public function __construct ()
{
try
{
$this->con = parent::__construct($this->getDns(), $this->user, $this->pwd);
// pour mysql on active le cache de requête
if($this->getAttribute(PDO::ATTR_DRIVER_NAME) == \'mysql\')
$this->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
return $this->con;
}
catch(PDOException $e) {
//On indique par email qu\'on n\'a plus de connection disponible
error_log(date(\'D/m/y\').\' à \'.date(\'H:i:s\').\' : \'.$e->getMessage(), 1, \'[email protected]\');
$message= new Message();
$message->outPut(\'Erreur 500\', \'Serveur de BDD indisponible, nous nous excusons de la gêne occasionnée\');
}
}
public function select($reqSelect)
{
$this->con = parent::beginTransaction();
//$result= parent::query($reqSelect);
$result = parent::prepare($reqSelect);
$result->execute();
$this->con = parent::commit();
// ou
// $this->con = parent::rollBack();
return $result;
}
public function injection($sql)
{
try
{
$this->con = parent::beginTransaction();
$result= parent::prepare($sql);
$this->con = parent::commit();
return $result;
}
catch (Exception $e)
{
error_log(date(\'D/m/y\').\' à \'.date("H:i:s").\' : \'.$e->getMessage(), 1, \'[email protected]\');
$this->con =parent::rollBack();
$message= new Message();
$message->outPut(\'Erreur dans la requêtte\', \'Votre requête a été abandonné\');
}
}
// renvoie un tableau que l\'on peux travailler avec count($result)...
public function selectTableau($reqSelect)
{
$result = parent::prepare($reqSelect);
$result->execute();
/* Récupération de toutes les lignes d\'un jeu de résultats "équivalent à mysql_num_row() " */
$resultat = $result->fetchAll();
return $resultat;
}
// on change le type de base ici
public function getDns()
{
return \'mysql:dbname=\'.$this->db.\';host=\'.$this->host;
}
}
?>';
//$var.=file_get_contents('../class/config.txt');
file_put_contents('../class/class.pdo.php', $var);
echo '
<a href="creationTable.php">étape 4</a>';
//////////////////////////////////////////
je n'ai pas de message d'erreur, c'est peut être l'écriture du fichier qui déconne,
d'alleuirs dans la doc il parle de sortie binaire, c'est quoi la sortie binaire ?
j'ai changé mon script, l'insertion des tables fonctionne seulement si je le fait
sur une autre page d'ou le lien "etape 4" (en bas), mmême un header bête ne fonctionne pas
mais j'aimerai bien comprendre d'ou viennent ce genre de problèmes ?
Je n'ai bien sur aucun message d'erreur dans tous les cas.
[php] //////////////////////////////////////////
include('../class/class.pdo1.php');
$connection=new Connection();
$sql="CREATE DATABASE ".$_POST['choixBase'];
echo $sql;
$connection->select($sql);
$message='Votre base à été créé avec succès...';
header('../class/creationTable.php');
$var='<?php
require_once("message.class.php");
class Connection extends PDO
{
private $db = "'.$_POST['choixBase'].'";
private $host = "'.$_POST['serveur'].'";
private $user = "'.$_POST['utilisateur'].'";
private $pwd = "'.$_POST['motPasse'].'";
private $email="'.$_POST['eMail'].'";
private $con; //
private $select; // requette de séléction
private $execute; // requette d\'execution
private $result; //
private $dns;
public function __construct ()
{
try
{
$this->con = parent::__construct($this->getDns(), $this->user, $this->pwd);
// pour mysql on active le cache de requête
if($this->getAttribute(PDO::ATTR_DRIVER_NAME) == \'mysql\')
$this->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
return $this->con;
}
catch(PDOException $e) {
//On indique par email qu\'on n\'a plus de connection disponible
error_log(date(\'D/m/y\').\' à \'.date(\'H:i:s\').\' : \'.$e->getMessage(), 1, \'
[email protected]\');
$message= new Message();
$message->outPut(\'Erreur 500\', \'Serveur de BDD indisponible, nous nous excusons de la gêne occasionnée\');
}
}
public function select($reqSelect)
{
$this->con = parent::beginTransaction();
//$result= parent::query($reqSelect);
$result = parent::prepare($reqSelect);
$result->execute();
$this->con = parent::commit();
// ou
// $this->con = parent::rollBack();
return $result;
}
public function injection($sql)
{
try
{
$this->con = parent::beginTransaction();
$result= parent::prepare($sql);
$this->con = parent::commit();
return $result;
}
catch (Exception $e)
{
error_log(date(\'D/m/y\').\' à \'.date("H:i:s").\' : \'.$e->getMessage(), 1, \'
[email protected]\');
$this->con =parent::rollBack();
$message= new Message();
$message->outPut(\'Erreur dans la requêtte\', \'Votre requête a été abandonné\');
}
}
// renvoie un tableau que l\'on peux travailler avec count($result)...
public function selectTableau($reqSelect)
{
$result = parent::prepare($reqSelect);
$result->execute();
/* Récupération de toutes les lignes d\'un jeu de résultats "équivalent à mysql_num_row() " */
$resultat = $result->fetchAll();
return $resultat;
}
// on change le type de base ici
public function getDns()
{
return \'mysql:dbname=\'.$this->db.\';host=\'.$this->host;
}
}
?>';
//$var.=file_get_contents('../class/config.txt');
file_put_contents('../class/class.pdo.php', $var);
echo '
<a href="creationTable.php">étape 4</a>';
//////////////////////////////////////////[/php]