Pages : 1
#1 Le 01/05/2016, à 21:46
- edaone
pdo n'a pas l'air de fonctionner en local[Résolu]
bonsoir
voilà mon souci
mon site fonctionne très bien chez hostinger(avec pdo) mais pdo n'a pas l'air de fonctionner chez moi en local.
pourtant en faisant par ligne de commande
php -i | grep pdo
j’obtiens
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini,
pdo_mysql
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
voici mon code php
<?php
include("header.php");
$date = date("d-m-Y");
echo'<section>
<center><h2>Laissez un petit message sympa!</h2>
<form method="POST" action="contact.php?action=insert">
<table>
<tr><td>Date:</td><td><input type="text" name="date" value="'.$date.'"></td></tr>
<tr><td>Nom:</td><td><input type="text" name="name"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td>Commentaire:</td><td><textarea name="comment"></textarea></td></tr></table>
<input type="submit" value="valider"><input type="reset" value="recommencer">
</center></br>
</form>
</section>';
if($_GET["action"]=="insert")
{
$date=$_POST['date'];
$name=$_POST['name'];
$email=$_POST['email'];
$comment=$_POST['comment'];
if(empty($name) || empty($comment))
{
$message="<center>Oubli d'un champ!</br>Veuillez recommencer.</center></br>";
}
else
{
$db->exec('INSERT INTO livre(date, name, email, comment) VALUES ("'.$date.'", "'.$name.'", "'.$email.'", "'.$comment.'")');
$message='<strong>Yes !</strong>';
header ("Location: ./contact.php");
}
echo $message;
}
$req =$db->prepare( "SELECT * FROM livre");
$req->execute();
if($req->rowCount()>0)
{
while($data = $req->fetch())
{
echo'<center><table id="livre">
<tr><td>Date:</td><td>'.$data['date'].'</td></tr>
<tr><td>Nom:</td><td>'.$data['name'].'</td></tr>
<tr><td>Email:</td><td>'.$data['email'].'</td></tr>
<tr><td>Commentaire:</td><td>'.$data['comment'].'</td></tr>
</table></center></br>';
}
}
else
{
echo'<center>Pas de petit mot gentil encore :)!</center></br>';
}
include("./footer.php");
?>
l'INSERT ne fait rien ni le SELECT
une idée?
Dernière modification par edaone (Le 02/05/2016, à 15:31)
lubuntu 15.10
Hors ligne
#2 Le 01/05/2016, à 22:32
- Rufus T. Firefly
Re : pdo n'a pas l'air de fonctionner en local[Résolu]
Salut,
Dans /etc/php5/apache2/php5.ini, tu as intérêt à mettre ceci dans la rubrique de gestion des erreurs :
error_reporting = E_ALL
;et un peu plus loin
display_errors = On
Puis tu redémarres apache.
Et ensuite il faut regarder aussi dans /var/log/
Il y a les log d'apache et ceux de mysql (mysql.err, mysql.log)...
On ne peut guère dire plus, d'autant que la partie pdo proprement dite est probablement dans header.php
Edit : tu devrais indenter ton code. C'est beaucoup plus lisible... Exemple :
function select ($sql, $result_type = 'assoc') { // ou array ou row
$rows = array ();
$res = $this->con->query ($sql);
if ($this->con->errno) {
$this->sql_err ($sql);
return $rows;
}
if ($res->num_rows == 0) {
$rows [0][0] = 0;
} else {
$fetch = 'fetch_' . $result_type;
while ($tmp = $res->$fetch ()) {
$rows[] = $tmp;
}
$res->close();
}
return $rows;
}
Dernière modification par Rufus T. Firefly (Le 01/05/2016, à 22:46)
La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme
Hors ligne
#3 Le 01/05/2016, à 22:37
- edaone
Re : pdo n'a pas l'air de fonctionner en local[Résolu]
voici pour la partie connexion au serveur
<?php
try
{
$db = new PDO('mysql:host=localhost;dbname=mams', 'root', 'eda');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
?>
pour le reste j'ai php.ini et non php5.ini
Dernière modification par edaone (Le 01/05/2016, à 22:44)
lubuntu 15.10
Hors ligne
#4 Le 02/05/2016, à 15:30
- edaone
Re : pdo n'a pas l'air de fonctionner en local[Résolu]
j'ai trouver il y avais une faute de frappe dans le nom dans une colonne de ma table sql. pffff quel boulet.
merci encore de vos réponses.
lubuntu 15.10
Hors ligne
Pages : 1