Jump to content

[PHP/MySQL] Probleme mit MySQL-Abfrage


MWojt
 Share

Recommended Posts

Hi Leute,

ich habe mal wieder ein Problem mit einem PHP-Skript. Dieses Mal soll dieses eigentlich eine MySQL-Abfrage tätigen, tut dies allerdings nicht. Durch dieses Skript wird zwar etwas ausgegeben, allerdings nicht das, was ich haben will; wie es scheint sind alle Werte Null. Hier mein Skript:


<?php

 $stmt = mysqli_prepare($db,"SELECT max(id) AS `id` FROM `commies` WHERE `postid` = ? AND `hidden` = 0");

 if($stmt == false) {

  $result = mysqli_query($db,"SHOW TABLES LIKE 'commies'");

  if(mysqli_num_rows($result) !== 1) {

   mysqli_query($db,"CREATE TABLE `commies` (

   `id` INT(255) PRIMARY KEY,

   `userid` INT(255) NOT NULL,

   `postid` INT(255) NOT NULL,

   `content` VARCHAR(60000) NOT NULL,

   `answer` INT(255) NULL,

   `hidden` BOOLEAN NOT NULL DEFAULT 0,

   `time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

   `edittime` TIMESTAMP NULL,

   `editor` INT(255),

   `editreason` VARCHAR(300)

   ) CHARSET UTF8;");

  }

 } else {

  mysqli_stmt_bind_param($stmt,"i",$_GET['id']);

  mysqli_stmt_execute($stmt);

  mysqli_stmt_bind_result($stmt,$max);

  mysqli_stmt_fetch($stmt);

  mysqli_stmt_close($stmt);

  if($max !== 0 && isset($max)) {

   $less = $max + 1;

   $stmt = mysqli_prepare($db,"SELECT `id`,`userid`,`content`,`time` FROM `commies` WHERE `hidden` = 0 AND `postid` = ? AND `id` < ? ORDER BY `id` DESC LIMIT 1");

   while($less > 0) {

    mysqli_stmt_bind_param($stmt,"ii",$_GET['id'],$less);

    mysqli_stmt_execute($stmt);

    mysqli_stmt_bind_result($stmt,$less,$userid,$content,$mtime);

    $error = mysqli_stmt_fetch($stmt);

    if(!$error) {

     $userpic = userValue($db,$userid,"userpic");

     $time = inttotime(strtotime($mtime));

     if(!isset($userpic)) {

      $userpic = config($db,1,"defaultpic");

     }

     $username = getUserName($db,$userid);

     echo('<article class="commie"><span class="abovecommie"><table><tr><th class="pic" rowspan="3"><img class="commiepic" src="'.$userpic.'"></img><th>'.$username.'</th></tr><tr><th>'.$time.'</th></tr><tr><th></th></tr></table></span>Nom</article>');

    }

   }

  }

 }

?>

Ich würde mich freuen, wenn jemand den Fehler fände und ihn mir sagen würde.

In der MySQL-Datenbank steht:

id userid postid content answer hidden time edittime editor editreason

1 1 3 Hallo NULL 0 2014-08-27 20:12:26 NULL NULL NULL

PS: Entschuldigung für etwaige Fehler oder dumme Formulierungen etc, bin schon etwas müde.

//EDIT:

Es lag wohl daran, dass ich "if(!$error)" statt "if($error)" geschrieben habe. Problem behoben.

Danke im Voraus,

MWojt

Edited by MWojt
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B
B