2016-08-02 8 views
-2

Linie 21: -

$sql="SELECT DISTINCT sem from $_SESSION['ye']"; 

und ich erhalte eine Fehlermeldung

" Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\try1\Model\attendanceModel.php on line 21"

+0

Während es ist hässlich und unsicher zu bauen SQL wie diese, PHP, wie dies in einer „komplexen Variablen Erweiterungen“ in einer String-Interpolation setzen erlaubt: '$ str =„blah Blah {$ _SESSION ['ye']} "'. Beachten Sie die Umbruch-Klammern und, im Gegensatz zu anderen Sprachen, die einen Ausdruck erlauben, ist das Konstrukt auf variable Erweiterungen beschränkt. – user2864740

Antwort

1

Wenn Array-Elemente in einen String interpoliert Sie die komplexe Interpolation Syntax verwenden müssen (wickeln Sie es in {}): in der Regel einfacher, nur den Wert einer Hilfsvariablen zu speichern

$sql = "SELECT DISTINCT `sem` from `{$_SESSION['ye']}`"; 

Es ist. Es kann Ihren Code leichter lesbar machen:

$ye = $_SESSION['ye']; 
$sql = "SELECT DISTINCT `sem` from `$ye`"; 
3

Erste assign Tabellennamen Variable

$tableName = $_SESSION['ye']; 

Dann die Variablennamen

in Abfrage verwenden
$sql = "SELECT DISTINCT sem from `$tableName`"; 

Or. En einfach

$sql = "SELECT DISTINCT sem from `". $_SESSION['ye']."`"; 
3

Verwendung so etwas wie dieses das Skript so weiter

$sql="SELECT DISTINCT sem from ".$_SESSION['ye']; 
-1

Sie haben verwenden.

$sql="SELECT DISTINCT sem from ".$_SESSION['ye']; 
+0

Dies ist Zeichen für Zeichen identisch mit der upvoted Antwort von vor 19 Minuten. – OGHaza

+0

Aber es bedeutet nicht aufhören Fragen zu beantworten .. –

+0

Willkommen bei SO. Obwohl wir Ihnen für Ihre Antwort danken, wäre es besser, wenn sie zusätzlich zu den anderen Antworten zusätzlichen Wert bietet. In diesem Fall liefert Ihre Antwort keinen zusätzlichen Wert, da [Rakesh Kumar] (http://stackoverflow.com/users/6540780/rakesh-kumar) diese Lösung bereits veröffentlicht hat. Wenn eine vorherige Antwort hilfreich für Sie war, sollten Sie [vote it up] (http://stackoverflow.com/help/privileges/vote-up). – OGHaza