Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gino Van Nauw

Gino Van Nauw

20/03/2008 15:18:00
Quote Anchor link
Goede middag iedereen,
ik heb hier een curieus probleempje dat zich soms wel, soms niet voordoet wanneer ik een myslq query laat uitvoeren.

De foutboodschap duidt op het feit dat er geen parameter bij de query werd doorgegeven. Dit is echter niet het geval. In het merendeel van de gevallen wordt de query wel correct uitgevoerd. Het is echt niet te snappen

Het stukje code waarover het gaat is :

$query="SELECT customer_number, customer_name FROM tbl_customer WHERE customer_name='$search'";
writelog("query string = ",$query,"");
$results=mysql_query($query,$conn_disputes) or die("Couldn't execute query: " . mysqli_error());


Ik heb de waarden naar een logfile geschreven :

Thu Mar 20, 2008 14:36 pm : customer name before rework = SEA-INVEST SHIPPING AGENCY (SISA) - 51023029
Thu Mar 20, 2008 14:36 pm : customer name after rework = SEA-INVEST SHIPPING AGENCY (SISA)
Thu Mar 20, 2008 14:36 pm : customer number = 51023029
Thu Mar 20, 2008 14:36 pm : search name = SEA-INVEST SHIPPING AGENCY (SISA)
Thu Mar 20, 2008 14:36 pm : query string = SELECT customer_number, customer_name FROM tbl_customer WHERE customer_name='SEA-INVEST SHIPPING AGENCY (SISA)'

De customer_name bestaat wel degelijk. Indien de query voor een tweede maal wordt uitgevoerd, wordt deze perfect gedaan.

Het probleem doet zich dus eigenlijk random voor en ik heb totaal geen idee waarom dit voorkomt.

Heeft er iemand een idee hoe dit kan opgelost worden?.

Groetjes
 
PHP hulp

PHP hulp

19/05/2024 12:42:12
 
Tom K

Tom K

20/03/2008 15:21:00
Quote Anchor link
je gebruikt mysqli_error en mysql_query? je moet een van de 2 gebruiken. dus mysql_query en mysql_error of mysqli_query en mysqli_error
 
Frank -

Frank -

20/03/2008 15:23:00
Quote Anchor link
De functie mysqli_error() wil graag de connectie als input hebben. $conn_disputes zul je daar in moeten zetten, aangenomen dat dit jouw connectie is.

Edit: Inderdaad, let wel op de i van improved. Wil je deze gebruiken ja of nee?
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Gino Van Nauw

Gino Van Nauw

20/03/2008 15:38:00
Quote Anchor link
Ik heb mysqli_error bijgevoegd nadat die bewuste fout optrad, enkel en alleen om een klare kijk te krijgen op de aard van de fout. Voorheen deed ik enkel een or die(). Feit is dat hij eigenlijk de fout niet zou mogen geven omdat de informatie wel degelijk in de tabel voorradig is. Wanneer ik de query rechtstreeks invoer in phpmyadmin doet hij het wel goed. Het is net of de string $search de waarde verliest wanneer hij opgebouwd wordt

$query="SELECT customer_number, customer_name FROM tbl_customer WHERE customer_name='$search'";

op de lijnen die aan de $query string voorafgaan is de inhoud van $search wel degelijk gevuld met info die in de tbl_customer terug te vinden is..
 
Gino Van Nauw

Gino Van Nauw

20/03/2008 20:13:00
Quote Anchor link
Zou mijn foutboodschap te maken kunnen hebben met memory of zo? De server staat nu, zonder reboot, reeds een 4-tal maanden te draaien. De Queries hebben altijd goed gewerkt tot de laatste week, waar sporadisch bovenstaande fout optreedt..
Indien het zou kunnen te wijten zijn aan geheugen dat volloopt of zo, is er dan een elegante manier om de buffers te clearen (anders dan de server te rebooten??)
 
Joren de Wit

Joren de Wit

20/03/2008 20:17:00
Quote Anchor link
Welke foutmelding krijg je nu dan? Nog steeds dezelfde?

Als dat het geval is, verander dan die mysqli_error() eens in gewoon mysql_error(). Je gebruikt immers ook mysql_query(), dus dan is het niet logisch om die andere variant te gebruiken voor je foutmelding.
 
Gino Van Nauw

Gino Van Nauw

20/03/2008 20:27:00
Quote Anchor link
Wanneer ik de msql_error opnieuw gebruik, krijg ik gewoon de foutboodschap can't execute query. De mysqli_error routine gaf me een beetje meer houvast wat er eigenlijk gaande is. Rariteit is dat, wanneer ik dezelfde programma's op mijn pc thuis uitvoer, ik geen foutboodschap krijg. Ik begin dus meer en meer te denken dat ergens iets het geheugen van de server belast moet hebben, waardoor deze sporadisch de trappers verliest.
 
Joren de Wit

Joren de Wit

20/03/2008 21:37:00
Quote Anchor link
Als je mysql_query() gebruikt kun je geen mysqli_error() gebruiken, dan hoor je gewoon mysql_error() te gebruiken (zie het subtiele verschil tussen deze functies: de i).

De functie mysql_error() geeft jou informatie over wat er nu precies fout gaat in je query. Dat een andere functie een andere error geeft waar jij meer houvast aan denkt te hebben, heeft daar helemaal niets mee te maken.

Kortom, ga nou eens kijken naar de oorspronkelijke foutmelding die je krijgt en echo bijvoorbeeld ook de query eens die je gebruikt...
 
Gino Van Nauw

Gino Van Nauw

21/03/2008 07:46:00
Quote Anchor link
Ik heb mijn query string naar een logbestand geschreven en daarin staat exact wat ik in de tabel op wil zoeken. Het is dit dat ik niet meer versta. De string en de variabele is goed. Indien ik deze rechtstreeks invoer in mysql krijg ik het gewenste resultaat. Mijn php routine echter geeft een indicatie alsof de te zoeken string leeg zou zijn (wat niet het geval is) en geeft dan die bewuste 'can't execute query' op het scherm van de gebruiker.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.