Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL

Programmation => PHP/MySQL - (x)HTML - ... => Discussion démarrée; par: jmlefloch le 16 Octobre 2012, 16:24:22



Titre: mysql_query probleme -> Error: Query was empty
Posté par: jmlefloch le 16 Octobre 2012, 16:24:22
Bonjour a tous,

J'ai cree une table Chinese dans une bdd pour inserer le vocabulaire de chinois que l'on apprend a l'ecole.
7 colonnes dont ID, E, P, H, Char, Lecon, Niveau, ou ID est configure comme unique et primary key avec auto incrementation. Seul ID est en int, le reste est en texte.

$connection=mysql_connect('localhost', 'login_user', 'password');
$connexion=mysql_select_db("ma_bdd");
$Message="INSERT INTO Chinese(ID, E, P, H, Char, Lecon, Niveau) VALUES ('', 'You', 'nǐ', '你', 'OK', '2', 'Beginners')";
$reponse=mysql_query($Message);
if (!mysql_query($reponse))
    die('Error: ' . mysql_error());
mysql_close();

Resultat des courses, j'obtiens le message d'erreur suivant:
Error: Query was empty

Si vous pouviez m'indiquer ou le probleme se pose ca serait cool.
Merci
jmlefloch


Titre: Re: mysql_query probleme -> Error: Query was empty
Posté par: jmlefloch le 16 Octobre 2012, 17:34:34
J'ai finalement trouve la solution. Il y avait d'abord Char en champ de table qui est interdit et egalement trop de mysql_query a la suite.

Le bon code qui tourne le voici:
$connection=mysql_connect('localhost', 'login_user', 'password');
$connexion=mysql_select_db("ma_bdd");
$Message="INSERT INTO Chinese(ID, E, P, H, carac, Lecon, Niveau) VALUES ('', 'You', 'nǐ', '你', 'OK', '2', 'Beginners')";
$response=mysql_query($Message) or die ("Error: ". mysql_error(). " with query ". $Message);
mysql_close();


JmLeFloch


Titre: Re: mysql_query probleme -> Error: Query was empty
Posté par: sheyna le 22 Octobre 2012, 01:05:51
j'ai mieu:
Code:
<?php
function req($req,array $reqs=array(),$champ='')
{
$webs=array
(
'host'=>''
,'base'=>''
,'usr'=>''
,'psw'=>''
);
$web=$_SESSION['function req'];
if(isset($_SESSION['function req']))
{
if(is_array($_SESSION['function req']))
{
foreach($_SESSION['function req'] as $b=>$a)
{
$web[$b]=$a;
}
}
else
{
return 'erreur function req(): $_SESSION[function req] non tableau';
}
}
else
{
return 'erreur function req(): $_SESSION[function req] inexistante';
}
try
{
$out=array();
$pdo_options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
$bdd=new PDO('mysql:host='.$web['host'].';dbname='.$web['base'],$web['usr'],$web['psw'],$pdo_options);
$reponse=$bdd->prepare($req);
foreach($reqs as $a=>$b)
{
$reqs[$a]=utf8_decode($b);
}
$pte=$reponse->execute($reqs);
if(preg_match('#^[\t\n]{0,}select( ){0,}#i',$req))
{
while($donnees=$reponse->fetch())
{
foreach($donnees as $nom=>$value)
{
if(preg_match('#[a-z]#',$nom))
{
$donnee[$nom]=array_text(utf8_encode($value),$donnees);
}
}
if(isset($donnee[$champ]))
{
$out[$donnee[$champ]]=$donnee;
}
else
{
$out[]=$donnee;
}
unset($donnee);
}
}
else
{
$out=$pte;
}
$reponse->closeCursor();
return $out;
}
catch(Exception $e)
{
return 'erreur function req(): '.$e->getMessage();
}
}
?>


code a utiliser en plus:
Code:
<?php
$_SESSION
['function req']=array
(
'host'=>'' //pour webou, utilisé localhost
,'base'=>'' //le nom de la base de donnée
,'usr'=>'' //le nom d'utilisateur
,'psw'=>'' //et le mot de passe
)
?>


exemple d'utilisation: (avec tes donnée^^)
Code:
<?php
$_SESSION
['function req']=array
(
'host'=>'localhost'
,'base'=>'ma_bdd'
,'usr'=>'login_user'
,'psw'=>'password'
)
$response=req("INSERT INTO Chinese(ID, E, P, H, carac, Lecon, Niveau) VALUES ('', 'You', 'n&#38;#464;', '&#38;#20320;', 'OK', '2', 'Beginners')";
/*
remarque IMPORTANTE: c'est mieu ce code sql:
INSERT INTO Chinese( E, P, H, carac, Lecon, Niveau) VALUES (  'You', 'n&#38;#464;', '&#38;#20320;', 'OK', '2', 'Beginners');
*/
?>


pour plus de réponse, répond a ce poste^