2016-08-09 3 views
-2

Ich bin meinen Code, im immer Fehler alsrichtige Codierungstechniken in PHP und MySQL

1) Nicht definierte Variable phpmysql.heres: SQL in C

2) Achtung: mysqli_query(): leere Abfrage in C:

3) Warning: mysqli_fetch_array() erwartet 1 Parameter MySQLi_Result, boolean in C gegeben werden

<?php 
    $servername="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password="root"; // Mysql password 
    $db_name="mydb"; // Database name 
    $tbl_name="forum_question"; // Table name 

    // Create connection 
    $conn = new mysqli($servername, $username, $password,$db_name); 

     // Check connection 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
    else 
    { 
    echo "Connected successfully"; 
    } 
    // get value of id that sent from address bar 
    $id=$_GET['name']; 
    $sqli="SELECT * FROM forum_question WHERE id='$id'"; 
    $result=mysqli_query($conn,$sql); 
    $rows=mysqli_fetch_array($result); 
    ?> 
    <?php 

    $tbl_name2="forum_answer"; // Switch to table "forum_answer" 
    $sql2="SELECT * FROM $tbl_name2 WHERE question_id='$id'"; 
    $result2=mysqli_query($conn,$sql2); 
    while($rows=mysqli_fetch_array($result2)){ 
    ?> 
    <?php 
    } 

    $sql3="SELECT view FROM $tbl_name WHERE id='$id'"; 
    $result3=mysqli_query($conn,$sql3); 
    $rows=mysqli_fetch_array($result3); 
    $view=$rows['view']; 

    // if have no counter value set counter = 1 
    if(empty($view)){ 
    $view=1; 
    $sql4="INSERT INTO $tbl_name(view) VALUES('$view') WHERE id='$id'"; 
    $result4=mysqli_query($conn,$sql4); 
    } 

    // count more value 
    $addview=$view+1; 
    $sql5="update $tbl_name set view='$addview' WHERE id='$id'"; 
    $result5=mysqli_query($conn,$sql5); 
    mysql_close($conn); 
    ?> 
+1

Code lesen __carefully__ –

+0

Auch, wie etwa die Zeilennummern aus den Fehlermeldungen hinzugefügt, so dass wir müssen nicht auf den gesamten Code suchen Suche nach Fehlern – Philipp

+0

'$ result = mysqli_query ($ conn, $ sql) ; 'sollte' $ result = mysqli_query ($ conn, $ sqli) sein; ' –

Antwort

2
$id=$_GET['name']; 
$sqli="SELECT * FROM forum_question WHERE id='$id'"; 
$result=mysqli_query($conn,$sql); 
$rows=mysqli_fetch_array($result); 
  1. Sie definieren $sqli, aber dann versuchen $sql in mysqli_query()
  2. zu verwenden, da Sie die falsche Variable in mysqli_query() verwenden die Funktion gibt false anstelle eines mysqli_result
  3. Sie verwenden mysqli_fetch_array() auf false , nicht auf einem mysqli_result so gibt es den nächsten Fehler.