requête sql avec subtr

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 : requête sql avec subtr

par hannao » 06 mai 2009, 15:26

Merci pour l'astuce Elie car ma base de données est construite avec ce mot reservé (je ne savais pas pas qu'il était réservé d'ailleurs, merci pour l'information stopher).
Tout marche bien maintenant dans la requête.
Je dois maintenant insérer des balises html pour donner le chemin vers des photos.
Je ne sais pas comment faire, je vais chercher et au besoin ,soit je reviendrais sur ce post, soit j'en ferais un autre.

En tout cas merci pour vos réponse et astuces.

Ca fonctionne c'est bien merci

par Elie » 06 mai 2009, 12:34

Tu peux si tu fais `fulltext`

par stopher » 06 mai 2009, 08:37

Il est plus simple effectivement d'avoir le message d'erreur de mysql , mais dans ton cas , l'erreur est simple :

Le nom de ta colonne FULLTEXT est un mot clef réservé pour mysql .. tu ne peux donc pas l'utiliser comme nom de colonne

mots reserves

Ch.

par Elie » 06 mai 2009, 00:05

$req = mysql_query($queryl) or die('Erreur SQL<br />'.$queryl.'<br />'.mysql_error());
Et revient nous voir !

requête sql avec subtr

par hannao » 05 mai 2009, 23:16

salut tous le monde,

Je viens vers vous car j'ai une requête qui commence à me bloquer :
voilà d'abord la requete qui marche
<?php
mysql_connect("localhost","root",""); // declaration de la connexion
mysql_select_db("interieu");
$ligne = 0;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 0, chr(9),'"')) !== FALSE) {
$ligne++;
$num = count($data);

for ($c=0; $c < $num; $c++) {
echo $data[$c].'<br />';
$var1 = substr($data[2], 0, 20);
}
$query = "INSERT INTO jos_content (id, title, alias, title_alias,introtext, modified, created_by) VALUES (" . $data[0] . ",'" .$data[1] . "','" .$data[1]."','" . $data[1] . "','".$var1."',now(),62)";
maintenant je veux ajouter une dans la base dans un champs fulltext l'ensemble du text qui correspond à$data[2]
<?php
mysql_connect("localhost","root",""); // declaration de la connexion
mysql_select_db("interieu");
$ligne = 0;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 0, chr(9),'"')) !== FALSE) {
$ligne++;
$num = count($data);

for ($c=0; $c < $num; $c++) {
//echo 'Col ['.$ligne.', '.$c.'] = '.$data[$c].'<br />';
echo $data[$c].'<br />';
//$var2 = $data[2];
$var1 = substr($data[2], 0, 20);

}
$query = "INSERT INTO jos_content (id, title, alias, title_alias, introtext, fulltext) VALUES ('" . $data[0] . "', '".$data[1]."','".$data[1]."','".$data[1]."','".$var1."','".$data[2]."')";
mysql_query($query);
echo $query.'<br />';
}

?>
voilà dès que je rajoute la variable $data[2], il n'y a plus d'insertion qui s'effectue dans la base.
Je me posais la question qui est vu que j'utilise une partie de $data[2] avant d'utiliser $data[2] cela bloque. J'ai essyé d'inverser mais rien ne marche.

j'ai mis un echo pour voir le resutat de la requête qui semble bon
INSERT INTO jos_content (id, title, alias, title_alias, introtext, fulltext) VALUES ('2', 'ruse de ','ruse de ','ruse de ','coyotte qui hurle le','coyotte qui hurle le soir tard bourrer comme un coing')

Voilà, je pense avoir été clair
Merci