[PHP] Aide dans l'écriture d'un script

Résolu/Fermé
LitleBig666 - 1 mars 2012 à 21:56
 le père - 1 mars 2012 à 23:27
Bonjour,
Je travaille sur un script et lorsque je le mets sur mon serveur (Free), voilà l'erreur qu'il m'annonce :

Call to a member function prepare() on a non-object


Je ne vois pas l'erreur s'il y en a une (surement trop de relecture...)
Voila le code :

<?php

	try
	{
			$db = mysql_connect('localhost', 'root', ''); 
			mysql_select_db('test',$db);

			   $req2 = $bdd->prepare('INSERT INTO news (jour, mois, annee, categorie, titre, texte) VALUES(?, ?, ?, ?, ?, ?)');
			   $req2->execute(array(
			   $_POST['jour'],
			   $_POST['mois'],
			   $_POST['annee'],
			   $_POST['categorie'],
			   $_POST['titre'],
			   $_POST['texte']			
					));

			header('Location: index.php');
			
	}
	catch(Exception $e)
	{
			die('Erreur : '.$e->getMessage());
	}
}

?>


Merci par avance
A voir également:

3 réponses

Bonjour

Quand tu utilises PDO, la connexion à la base de données ne se fait pas avec mysql_connect et mysql_select_db mais en créant l'objet PDO $bdd:

$bdd= new PDO("mysql:host=localhost; dbname=$user", $user, $pass);
(car chez free le nom de la base est le même que le nom d'utilisateur)

Il y a des précautions à prendre, voir :
http://www.php.net/manual/fr/pdo.connections.php
0
Je suis d'accord...
Mais Free n'accepte pas PDO...
Saurais-tu le moyen de faire ce type de requête sans PDO ? (Etant donné que le site du zéro a mis à jour son tuto et qu'on n'y trouve plus que du PDO !)
0
Mais si, Free accepte le PDO. Mais avec sqlite seulement...

$req2=mysql_query("INSERT INTO news (jour, mois, annee, categorie, titre, texte) VALUES( "'.
  mysql_real_escape_string($_POST['jour'])."','".
  mysql_real_escape_string($_POST['mois'])."','".
  mysql_real_escape_string($_POST['annee'])."','".
  mysql_real_escape_string($_POST['categorie'])."','".
  mysql_real_escape_string($_POST['titre'])."','".
  mysql_real_escape_string($_POST['texte'])."')";

Mais il va bien falloir que tu trouves un autre tuto que le site du zéro si tu veux utiliser mysql chez Free. Personnellement, j'ai appris dans leS manuelS PHP et MySQL tout simplement.
0