Fatal error

Status
Niet open voor verdere reacties.

Gregg

Gebruiker
Lid geworden
8 okt 2008
Berichten
68
hallo iedereen, ik ben nieuw hier en ik zit met volgend probleem...
Ik heb een script waar ik users kan aanmaken afhankelijk van hun niveau.
Alle data is gekoppeld met een database.
En alles werkt ook perfect (lezen uit db en schrijven naar db).
Behalve als ik een user wil bewerken (naam, level, ...) dan loopt het mis.
Ik krijg volgende error.

Fatal error: Call to undefined function mysql_last_error() in ...\UsbWebserver\Root\Administrator\user_wijzigen.php on line 168

regel 168 is volgende: $result = mysql_query($query,$db) or die ("FOUT: " . mysql_last_error());

kan er mij iemand helpen?

note: de connectie met db wordt hoger in de pagina gemaakt, de rest van de pagina heb ik niet gepost omdat deze vooral layout bevat!


PHP:
<?php
		
		// controle op ingelogd zijn:
if(isset($_SESSION['suser'])) {

 
  if(($_SESSION['slevel'] & 15) == 15) {
    // voer code uit behorend bij recht #1

		// controleren of pagina zichzelf heeft aangeroepen via hidden-field uit het formulier
			if (isset($_POST["bevestiging"])){
		// query samenstellen
			$query="UPDATE users SET
			name = '". $_POST["name"] . "', 
			level = '". $_POST["level"] . "', 
			pass = '". $_POST["pass"] . "', 
			WHERE id=" .$_POST["id"];
			$result = mysql_query($query,$db) or die ("FOUT: " . mysql_last_error());
			echo("<center><br>De volgende opdracht is uitgevoerd: <br><b>$query</b><br>\n");
			if ($result){
			echo ("<center><br>Record nummer " .$_POST["id"] . " is bijgewerkt<br>\n");
			echo("<br><br><a href=\"users_overzicht.php\">Terug naar het overzicht</a>");
			}
			}else{
		// pagina heeft zichzelf nog niet aangeroepen, 
		// formulier tonen om gegevens te bewerken
			$query="SELECT * FROM users WHERE id=" . $_GET["id"];
			$result = mysql_query($query,$db) or die ("FOUT: " . mysql_error());	
			
		?>


		<?php
		// gegevens ophalen en toekennen aan tijdelijke variabelen
			while ($rij = mysql_fetch_array($result)){
			$name = $rij['name'];
			$level = $rij['level'];
			$pass = $rij['pass'];
			}
			echo '<br><font color="#ff0000" size="4" face="arial"><center>Opgelet, u gaat volgende gegevens aanpassen!</center></font><br>';
			echo "<center><b>$name</b></center>";
			echo "<center><b>$level</b></center>";
			echo "<center><b>$pass</b></center>";
			
			
			
		?>
        
	</p>
	<form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
	<input type="hidden" name="bevestiging" value="1">
	<input type="hidden" name="id" value="<?php echo($_GET["id"]);?>">
	<br>
	<table width="200" border="0" align="center">
  	<tr>
    <td><p class="inhoud">Naam:</p> </td>
    <td><input type="text" name="name" value="<?php echo($name);?>" size="60"></td>
  	</tr>
    <tr>
    <td><p class="inhoud">Level:</p> </td>
    <td><input type="text" name="level" value="<?php echo($level);?>" size="60"></td>
  	</tr>
    <tr>
    <td><p class="inhoud">Passwoord:</p> </td>
    <td><input type="text" name="pass" value="<?php echo($pass);?>" size="60"></td>
  	</tr>
  	<tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  	</tr>
  	<tr>
    <td><input type="Submit" value="Bijwerken"></td>
    <td><input type="Button" value="Terug" onClick="javascript:history.back();"></td>
  	</tr>
	</table>
	<br><br>
	</form>
		<?php
		// else-blok correct afsluiten
			}
		?>
	
  
<?php
  } else {
    // geef een melding dat je de acties
    // behorend bij recht #1 niet mag uitvoeren
?>
U heeft niet voldoende rechten om deze pagina te bekijken.<br />

<?php

}
}
?>
 
De foutmelding geeft aan dat de functie niet bestaat.

Dus of je moet hem zelf gaan maken of je veranderd het in mysql_error() :)
 
idd... ik heb de syntax aangepast en de foutmelding is weg.

maar toch zit er nog ergens een fout in want hij wil de database niet updaten.

zie ik dan nog iets over het hoofd?
Is mijn statement verkeerd?
Ik zit er al uren mee te werken en ik zie nu overal kommas, punten en haakjes
:D
 
Wellicht helpt het om meer structuur aan je code te brengen?

Consequent inspringen bijvoorbeeld :)

Weet je zeker dat het script wel de code uitvoert?
Dus dat je deze tekst in je scherm krijgt: Record nummer {x} is bijgewerkt
 
In je SQL-string staat een komma te veel.
verander dit:
PHP:
            pass = '". $_POST["pass"] . "',  
            WHERE id=" .$_POST["id"];
in dit:
PHP:
            pass = '". $_POST["pass"] . "'
            WHERE id=" .$_POST["id"];

Verder heb ik niet gekeken... kan dus zijn dat er nog wat fout in zit! ;)
 
In je SQL-string staat een komma te veel.
verander dit:
PHP:
            pass = '". $_POST["pass"] . "',  
            WHERE id=" .$_POST["id"];
in dit:
PHP:
            pass = '". $_POST["pass"] . "'
            WHERE id=" .$_POST["id"];

Verder heb ik niet gekeken... kan dus zijn dat er nog wat fout in zit! ;)

Het probleem is opgelost... het was idd die ene komma...
Hoe snel men er over kijkt. :rolleyes:

Alleszien... hartelijk dank voor de hulp :thumb:

PS: ben ook ineens meer structuur aant aanbrengen aan de code.. is idd meer overzichtelijk. Tnx 4 the tip
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan