Querry kan niet worden uitgevoerd

Status
Niet open voor verdere reacties.

Jorryt

Gebruiker
Lid geworden
19 dec 2010
Berichten
246
hallo jongens,

Hij wil de volgende querry niet uitvoeren. Ik krijg via de POST keurig netjes de resultaten binnen maar toch doet die het niet..

PHP:
<?php
// Variables
$server = "x";
$gebruikersnaam = "x";
$wachtwoord = "x";
$database = "x";

//Connectie met database
$connectie = mysql_connect($server,$gebruikersnaam,$wachtwoord) 	or die("Er kon geen connectie met de server gemaakt worden");
mysql_select_db($database,$connectie);


//Variables
$titel = $_POST["titel"];
$tekst = $_POST["tekst"];
$auteur = $_POST["auteur"];
$datum = $_POST["datum"];

// querry
$querry = "
INSERT INTO posts VALUES ($titel,$tekst,$auteur,$datum)
";

//Querry uitvoeren
mysql_query($querry,$connectie)							or die("De querry kon niet worden uitgevoerd");


mysql_close($connectie) or die("Het verbreken van de verbinding met de MySQL-server is mislukt!"); 
?>
 
nu vroeg ik me af wat dit zou doen

PHP:
         save_line($_POST);
        function save_line($arr,$bykey = true){
              //@todo validate the for sqlinjection or not valid values	
$query ="INSERT INTO posts".;
        	if($bykey){
        		$query .= "('".array_keys($arr)."') VALUES ('".array_values($arr)."')";
        	}else{
        		$query .= " VALUES ('".array_values($arr)."')";
        	}
        	DoQuery($query);
        	print($query);//@todo delete before use life
        }
       function DoQuery($query){
			@mysql_query($query);//@ wil delete all errors
        }
 
Laatst bewerkt:
Nog een probleem

Hmm hij werkt ook met quotes om de variables heen (\"). Nu heb ik nog een probleem met dit stukje code. Hij vindt namelijk dat alle variable ($titel $datum enz.) null zijn. (niks nada noppes). Toch bedankt he:thumb:

PHP:
<?php

function ophalen ($aantal)
{

//Connectie met database
$connectie = mysql_connect($server,$gebruikersnaam,$wachtwoord) 	or die("Er kon geen connectie met de server gemaakt worden");
mysql_select_db($database,$connectie);


//querry maken
$querry = "
SELECT *
FROM posts
ORDER BY DATUM DESC;
";

//Querry uitvoeren
$uitvoeren = mysql_query($querry,$connectie)							or die("De querry kon niet worden uitgevoerd");
	
//Netjes opschrijven. Nu krijgt elk ding
while ( $resultaat = mysql_fetch_array($uitvoeren,MYSQL_BOTH) & $a < $aantal)
{
	
$auteur = $resultaat["1"];
$titel = $resultaat["titel"];
$tekst = $resultaat["tekst"];
$datum = $resultaat["datum"];	 
	
$a = $a+1;
print (" 
$auteur Schreef op<br>
$datum Een bericht<br>
$tekst met de titel<br>
$titel<br>
<br>
");
}
}
?>
 
Kan maar hij print de Query af kan je eens zien of hij dat opslaat en zet die testdata een op het forum dat ik kan kijken.


verwijder uw eigen code niet maar gebruik dit eens voor test
PHP:
<?php
function ophalen ($aantal){
     //Connectie met database
    $connectie = @mysql_connect($server,$gebruikersnaam,$wachtwoord);
    mysql_select_db($database,$connectie);
    //querry maken
    $querry = "SELECT *   FROM posts ORDER BY DATUM DESC; ";
    //Querry uitvoeren
    $mydata = @mysql_query($querry,$connectie);   
    //Netjes opschrijven. Nu krijgt elk ding
    while ($dataline = mysql_fetch_array($mydata,MYSQL_BOTH) & $a < $aantal){
        print_r ($dataline);
        print "\n";
    }
}
?>
 
Ik snap niet helemaal wat je bedoeld. Wat heb je nog nodig om te kijken waar het aan ligt?

Hij print dan 3 keer de eerste 2 gegevens uit de tabel.
of 2 keer de eerste 3 gegevens uit de tabel. Ik denk het eerste aangezien hij 3 keer dient te printen. Maar hij komt dus niet verder dan de eerste rij.
 
Deze zou voor mijn cms moeten dienen maar is nog niet getest laat me weten of ie het doet

PHP:
/*
	* @author Lieven Roegiers
	* @copyright 2009
	* @CMS autosite
	*/
        function Q_print($query){
			 $res = mysql_query($query);		
			 $isfirst=true;
			 while ($arr = mysql_fetch_array($res, MYSQL_ASSOC)) {
			 	if ($isfirst){
			 		print"<tr>";
  						array_walk($arr,'printth');
  					print"</tr>";
  					$isfirst=false;
			 	}
			 	print"<tr>";
  					array_walk($arr,'printtd');
  				print"</tr>";
			 }
             mysql_free_result($res); 
        }
        function printtd($item, $key){
        	print"<td>".$item."</td>";
        }
        function printth($item, $key){
        	print"<th>".$key."</th>";
        }
 
Dat is niet helemaal waar ik op zoek naar ben.. Ik moet eigenlijk weten waarom hij het niet doet...
 
Je gebruikt in je voorbeeld de operator "&". Ik vermoed dat je daar eigenlijk gebruik wilt maken van "&&"

&& is namelijk de "AND" operator.

& is bitwise-and en dat doet heel iets anders.
 
Okee dankje. Dat was het laatste probleem, hij doet het namelijk wel als je de array eerst omschrijft naar een normale variabele. Je kan blijkbaar niet zomaar

print $a["1"] doen...
 
Volgensmij is het een bug in PHP dat er weleens wat mis gaat als je strings als keys gebruikt die eigenlijk INTs zijn, maar ik weet niet in hoeverre dit er wat mee te maken heeft.

Iig goed dat het weer werkt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan