Martin2004: Komme da nicht weiter

Hallo und guten Abend,

hab da ein Problem. Was bedeutet denn dieser Fehler:

You have an error in your SQL syntax near ') ' at line 27

Hier mal ein paar Zeilen aus dem Code:

<?php
//Konfigurations Datei einbinden
include "../includes/config.php";

if(isset($_POST['abbrechen']))
{
 header("Location: ".HOST_DE);
}

//Funktion Check E-Mail Absender
function check_email($email, $check_host = false)
{
  $nonascii      = "\x80-\xff"; # Non-ASCII-Chars are not allowed
  $nqtext        = "[^\\$nonascii\015\012"]";
  $qchar         = "\\[^$nonascii]";
  $protocol      = '(?:mailto:)';
  $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
  $quotedstring  = ""(?:$nqtext|$qchar)+"";
  $user_part     = "(?:$normuser|$quotedstring)";
  $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\.';
  $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*';
  $dom_tldpart   = '[a-zA-Z]{2,}';
  $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
  $correct_opt   = preg_match("/^$protocol?$user_part@($domain_part)$/",$email,$treffer);

//Wenn die E-Mail Adresse optisch schon verkehrt ist abbrechen
  if(!$correct_opt) return false;

//Überprüfung auf Host,
  //der folgende Teil ist experimentell!!!
  if($check_host)
  {
    //Sonst überprüfen, ob es die Domain in der Adresse gibt
    $correct_nopt  = @fopen("http://www.".$treffer[1],"r");
    //Wenn nicht abbrechen
    if(!$correct_nopt) return false;
    //Sonst E-Mail Adresse als gültig durchlasen
    fclose($correct_nopt);
  }

//Und True zurückliefern
  return true;
}

Das steht in Zeile 27:

if(!$correct_opt) return false;

Gruß Martin

  1. You have an error in your SQL syntax near ') ' at line 27

    Das steht in Zeile 27:

    if(!$correct_opt) return false;

    Das passt nicht zusammen, da mußt Du Dir die Zeilen in der Umgebung vornehmen, denn Deine Fehlermeldung kommt von der MYSQL-Engine, das hat soweit mit Deiner PHP-Zeile nicht viel zu tun. Du hast irgendwo einen Fehler in einer sql-Anweisung, nicht im PHP-Skript...

  2. Hallo Martin,

    Was bedeutet denn dieser Fehler:
    You have an error in your SQL syntax near ') ' at line 27

    du hast in der Zeile 27 deines SQL-Querys bei einer runden Klammer einen Fehler - welcher das ist, kann ich dir mangels SQL-Query auch nicht sagen.

    $correct_nopt  = @fopen("http://www.".$treffer[1],"r");

    warum der Teil nichts taugt, habe ich bereits in https://forum.selfhtml.org/?t=98864&m=603305 geschrieben.

    Das steht in Zeile 27:
      if(!$correct_opt) return false;

    das ist die Zeile 27 deines php-Codes - der hat aber mit dem Problem nichts zu tun.

    Grüße aus Nürnberg
    Tobias