2017-10-17 3 views
-1

Ok, also mache ich etwas Arbeit in PHP und Sql. Dieser PHP-Code wird nicht funktionieren, ich muss wissen, was damit zu tun ist, wenn else-Schleife.'else' (T_ELSE) in Ihrem Code in Zeile 21

ich diesen Fehler: Parse error: syntax error, unerwartet 'else' (T_ELSE) in "my filepath" on line 21

<?php 
$debug = true; 

# Shows the records in prints 
function show_records($dbc) { 
    # Create a query to get the name and price sorted by price 
    $query = 'SELECT num, fname, lname FROM presidents ORDER BY num DESC' ; 

    # Execute the query 
    $results = mysqli_query($dbc , $query) ; 
    check_results($results) ; 
} 

function valid_number($dbc, $num, $fname, $lname){ 

    if(!valid_number($num)) { 
    echo "<p>Please give a valid number.</p>"; } 
    else { 
     if (!valid_name($fname)) 
    echo "<p>Please complete the first name.</p>"; } 
    else{ 
     if (!valid_name($lname)){ 
    echo "<p>Please complete the last name.</p>"; }} 
    else { 
    insert_record($dbc,$num,$fname,$lname) ; } 
    function valid_number($num){ 
    { if(empty($num) || !is_numeric($num)) } 
    return false ; } 
    else { 
     $num = intval($num) ;  
     if($num <= 0){ 
     return false ;} 
    } 
    return true; } 


function valid_name($fname, $lname){ 
     if(!empty($fname) && !empty($lname)) { 
     return false; 
    } 
    else 
     return true; 
} 



    # Show results 
if($results) 
    { 
     # But...wait until we know the query succeeded before 
     # starting the table. 
     echo '<H1>Presidents</H1>' ; 
     echo '<TABLE border="1\"">'; 
     echo '<TR>'; 
     echo '<TH>Number</TH>'; 
     echo '<TH>First Name</TH>'; 
     echo '<TH>Last Name</TH>'; 
     echo '</TR>'; 

    # For each row result, generate a table row 
     while ($row = mysqli_fetch_array($results , MYSQLI_ASSOC)) 
    { 
     echo '<TR>' ; 
     echo '<TD>' . $row['num'] . '</TD>' ; 
     echo '<TD>' . $row['fname'] . '</TD>' ; 
     echo '<TD>' . $row['lname'] . '</TD>' ; 
     echo '</TR>' ; 
    } 

    # End the table 
    echo '</TABLE>'; 

    # Free up the results in memory 
    mysqli_free_result($results) ; 
} 


# Inserts a record into the prints table 
function insert_record($dbc, $num, $fname, $lname) { 
    $query = 'INSERT INTO presidents(num, fname, lname) VALUES (' . $num . ' , "' . $fname . '", "' . $lname . '")' ; 
    show_query($query); 

    $results = mysqli_query($dbc,$query) ; 
    check_results($results) ; 

    return $results ; 
} 

# Shows the query as a debugging aid 
function show_query($query) { 
    global $debug; 

    if($debug) 
    echo "<p>Query = $query</p>" ; 
} 

# Checks the query results as a debugging aid 
function check_results($results) { 
    global $dbc; 

    if($results != true) 
    echo '<p>SQL ERROR = ' . mysqli_error($dbc) . '</p>' ; 
} 
?> 

ok, dass mein Beitrag ist meist Code so hier einige ist Füllstoff. lorem ipsum dolor sit amet Bitte ignorieren Sie dies Ich brauche nur eine Antwort das ist Füller uh uhhhhh yeah

+0

'if (! Valid_name ($ fname))' lässt sich nicht öffnen einen neuen Block. I.e. Es gibt kein '{'. Aber Sie versuchen, es in der nächsten Zeile zu schließen. Das schließt den Else-Block zuvor und verursacht den Fehler. – jh1711

+1

Bitte Code einrücken. Wo ist deine Linie 21? Überprüfen Sie, ob in dieser Zeile, ich denke, Sie vermissen ein '{' – sheplu

+0

@ jh1711 Das funktioniert tatsächlich, danke. Ich scheine auch einen Fehler zu bekommen, wo die Ergebnisvariable nicht definiert ist, irgendwelche Ideen? – jwsqljava

Antwort

0

Hier, aufgepasst, das ist ungeprüft, aber ich habe das Problem gelöst. Sie sollten mit elseif() try {} und sehen, wo Ihre Öffnen und Schließen Klammern

sind
<?php 
$debug = true; 

# Shows the records in prints 
function show_records($dbc) { 
    # Create a query to get the name and price sorted by price 
    $query = 'SELECT num, fname, lname FROM presidents ORDER BY num DESC' ; 

    # Execute the query 
    $results = mysqli_query($dbc , $query) ; 
    check_results($results) ; 
} 

function valid_number($dbc, $num, $fname, $lname){ 

    if(!valid_number($num)) { 
     echo "<p>Please give a valid number.</p>"; } 
    elseif(!valid_name($fname)) { 

     echo "<p>Please complete the first name.</p>"; } 
    elseif (!valid_name($lname)){ 
     { 
      echo "<p>Please complete the last name.</p>"; }} 
    else { 
     insert_record($dbc,$num,$fname,$lname) ; } 


    function valid_number($num){ 
     if(empty($num) || !is_numeric($num)){ 
     return false ; } 
    else { 
     $num = intval($num) ; 
     if($num <= 0){ 
      return false ;} 
    } 
    return true; 
    } 
Verwandte Themen