Antworten
Deine SQL-Syntax stimmt nicht, wo sind Deine Anführungszeichen? Siehe auch [doc]mysql_error[/doc]
2.
Hallo Orben,
Dein Problem liegt wahrscheinlich daran, dass Du den Suchwert nicht in Anführungsstrichen angibst. MySQL interpretiert Werte, die nicht von " bzw. ' eingeschlossen sind als numerisch. Das erklärt auch, weshalb es mit einer reinen Zahl funktioniert.
Code: In Zwischenablage kopieren (nur IE)
Das sollte helfen!
Gruß,
Lius
3.
Lius, auch Dir wird es bald keinen Spaß machen, auf diese Art von Fragen so ausführlich zu antworten, da das eine Frage ist, die wöchentlich mind. 2 mal reinkommt....
4.
Irgendwie bekomme ich es nicht so hin! Hier ist nochmal der Komplette Quellcode:
<html>
<?php
include_once 'db.php';
include_once 'function_loeschen.php';
loeschen()
?>
<?php
if (isset($_POST['Submit']))
{
$loeschen = $_POST[loeschen];
mssql_query("delete from weiterbildungsmassnahme where bezeichnung = '$loeschen' ;");
echo $loeschen;
echo "<br> TE";
}
else
{
echo "Fehler";
}
?>
<body>
<p> </p>
<p> </p>
<p align="center"><font size="5"><strong><font face="Verdana, Arial, Helvetica, sans-serif">Zu
löschenden Weiterbildungsmassnahme wählen:</font></strong></font></p>
<form method="POST" name="massnahme">
<div align="center">
<p>
<select Titel="massnahme" name="loeschen" lang="de" size="1">
<option>Bitte wählen</option>
<option disabled>--------------------</option>
<?PHP
$result = mssql_query("SELECT weiterbildungsmassnahme.bezeichnung FROM weiterbildungsmassnahme ;");
$num=mssql_num_rows($result);
for ($i=0; $i<$num;$i++)
{
$bezeichnung = mssql_result($result,$i,bezeichnung);
?>
<option value = " <?PHP echo $bezeichnung ; ?> "> <?PHP echo $bezeichnung ; }?> </option>
</select>
</p>
<p> </p>
</div>
<div align="center">
<input name="Submit" type="submit" onClick="submit()" value="Löschen">
</div>
</form>
<p align="center"> </p>
</body>
</html>
Das ist die Funktion:
<?php
function loeschen($loeschen='')
{
include_once 'db.php' ;
global $loeschen ;
echo $loeschen ;
mssql_query("delete from weiterbildungsmassnahme where bezeichnung = '$loeschen' ;") ;
}
?>
Laut der ECHO-Ausgabe wird die Variable richtig übertragen!
Vielen Dank nochmal!
5.
Also oben war es noch mysql, jetzt isses mssql ... aber immernoch lässt Du Dir keinen SQL-Fehler ausgeben. Wieso?
6.
Das liegt daran das ich es auf zwei wegen versuch! Lokal mit MySQL aber das richtige Skript sollte mit MSSQL funktionieren.
Mal ganz doof von mir! Wie kann ich mir die Fehler ausgeben lassen?
7.
Das habe ich Dir oben schon gepostet, bei mssql könnte [doc]mssql_get_last_message[/doc] funktionieren. Außerdem ist es generell keine gute Idee, ohne Abstraktionsschicht verschiedene Datenbanksysteme zu benutzen, das könnte schief gehen...
8.
An welcher stelle muss ich das einbauen? Geht irgendwie nicht! Ich bin mit PHP nicht so erfahren!