Json_encode liefert boolean

12/09/2015 20:30 sven12345#1
PHP Code:
  $server 'localhost'// this may be an ip address instead
    
$user 'root';
    
$pass '';
    
$database 'hegerm';
    
$connection = new mysqli($server$user$pass$database);
  
$abfrage "SELECT * FROM weindb;";
    
$result $connection->query($abfrage);
//    echo $result;
  
$rows=array();
  while (
$zeile mysqli_fetch_assoc($result))
  {
      
$rows[] = $zeile;
      
//array_push($rows,$zeile);
      //  = array('' => , ); $zeile;
      
print_r(gettype(json_encode($rows)));
  } 
Die letzte Zeile print_r liefert als ausgabe boolean- nimmt man das gettype weg steht gar nichts drin,lasse ich mir eine zeile ausgeben steht dort das richtige Array, ich hab mitlerweile keine Ahnung was ich noch versuchen könnte, falls jmd eine Lösung kennt wäre ich sehr dankbar da meine php Kenntnisse sehr beschränkt sind.
12/09/2015 20:35 False#2
Quote:
Originally Posted by sven12345 View Post
PHP Code:
  $server 'localhost'// this may be an ip address instead
    
$user 'root';
    
$pass '';
    
$database 'hegerm';
    
$connection = new mysqli($server$user$pass$database);
  
$abfrage "SELECT * FROM weindb;";
    
$result $connection->query($abfrage);
//    echo $result;
  
$rows=array();
  while (
$zeile mysqli_fetch_assoc($result))
  {
      
$rows[] = $zeile;
      
//array_push($rows,$zeile);
      //  = array('' => , ); $zeile;
      
print_r(gettype(json_encode($rows)));
  } 
Die letzte Zeile print_r liefert als ausgabe boolean- nimmt man das gettype weg steht gar nichts drin,lasse ich mir eine zeile ausgeben steht dort das richtige Array, ich hab mitlerweile keine Ahnung was ich noch versuchen könnte, falls jmd eine Lösung kennt wäre ich sehr dankbar da meine php Kenntnisse sehr beschränkt sind.
Frage ich mal so, wieso nutzt du gettype, da du json_encode nutzt kommt doch eh immer ein String raus.Hast du dir mal die Manual angesehen (vor allem den zweiten Parameter von print_r) ? ([Only registered and activated users can see links. Click Here To Register...])
12/09/2015 20:37 sven12345#3
Da ich überprüfen wollte ob da der richtige Typ dahinter ist -> dann sollte ja "string" rauskommen allerdings kommt da als Typ boolean raus und ich hab kein Plan wieso- wenn ich die Daten will mache ich das gettype natürlich raus
12/09/2015 20:52 False#4
Quote:
Originally Posted by sven12345 View Post
Da ich überprüfen wollte ob da der richtige Typ dahinter ist -> dann sollte ja "string" rauskommen allerdings kommt da als Typ boolean raus und ich hab kein Plan wieso- wenn ich die Daten will mache ich das gettype natürlich raus
Dann gib mal bitte alles einzeln aus und poste uns was wo raus kommt..
12/09/2015 20:58 sven12345#5
print_r($rows):
PHP Code:
Array ( [0] => Array ( [id] => [land] => Deutschland [region] => Region [weingut1] => weingut1 [weingut2] => weingut2 [typ1] => typ [rebsorte] => rebsorte [name] => Weinname [praedikat] => Pr�dikatXY [ausbau] => Ausbau [jahrgang] => 2005 [alkohol] => 12 [preis] => 13 [beschreibung] => Weinbeschreibung Hier [bewertung] => 5 [schmecktWem] => Mir,DIr [gekauftWo] => Hier Gekauft [bemerkung] => Meine Weinbemerkung ) [1] => Array ( [id] => 2 [land] => Deutschland [region] => Tolle Region [weingut1] => Weingute345435 [weingut2] => Weingute345fdg [typ1] => Typ sdfdsf [rebsorte] => Rebsorte sdfsdf [name] => Weinname sdfsd [praedikat] => Pr�di asd as [ausbau] => Ausbau asda sd [jahrgang] => 2002 [alkohol] => 13 [preis] => 14 [beschreibung] => asdad asd sdas daser jhgkhgkh hgdf gd gfd [bewertung] => 3 [schmecktWem] => sad trz hgjg jgh [gekauftWo] => sdfsf ssd sfs f sfdsfsf [bemerkung] => asdasd asdadaserf etet ertert etre ert ) ) 
12/09/2015 21:29 False#6
Ich habe keine Ahnung wo dein Problem liegt, geht ohne Probleme...

Mit gettype und json_encode:
[Only registered and activated users can see links. Click Here To Register...]


Nur json_encode :
[Only registered and activated users can see links. Click Here To Register...]


nur print_r :
[Only registered and activated users can see links. Click Here To Register...]
12/09/2015 21:39 sven12345#7
Quote:
Originally Posted by .ƒaℓsє. View Post
Ich habe keine Ahnung wo dein Problem liegt, geht ohne Probleme...

Mit gettype und json_encode:
[Only registered and activated users can see links. Click Here To Register...]


Nur json_encode :
[Only registered and activated users can see links. Click Here To Register...]


nur print_r :
[Only registered and activated users can see links. Click Here To Register...]
Bei den Links kommt nur ein internal server error

Okay, geht wieder - aber keine Ahnung was an der Response falsch formatiert ist dich von fetch_assoc() bekomme, normale Daten werden auch ganz normal richtig geparst nur wenn ich das direkt parsen will kommt da nichts bei raus :/

Okay ich weiß woran es liegt- an den ä in praedikat im content ..special chars ...
12/10/2015 21:32 ~ JWonderpig ~#8
Quote:
Originally Posted by sven12345 View Post
PHP Code:
  $server 'localhost'// this may be an ip address instead
    
$user 'root';
    
$pass '';
    
$database 'hegerm';
    
$connection = new mysqli($server$user$pass$database);
  
$abfrage "SELECT * FROM weindb;";
    
$result $connection->query($abfrage);
//    echo $result;
  
$rows=array();
  while (
$zeile mysqli_fetch_assoc($result))
  {
      
$rows[] = $zeile;
      
//array_push($rows,$zeile);
      //  = array('' => , ); $zeile;
      
print_r(gettype(json_encode($rows)));
  } 
Die letzte Zeile print_r liefert als ausgabe boolean- nimmt man das gettype weg steht gar nichts drin,lasse ich mir eine zeile ausgeben steht dort das richtige Array, ich hab mitlerweile keine Ahnung was ich noch versuchen könnte, falls jmd eine Lösung kennt wäre ich sehr dankbar da meine php Kenntnisse sehr beschränkt sind.
PHP Code:
  $rows=array();
  while (
$zeile mysqli_fetch_assoc($result))
  {
      ...

     
$arr array_map('utf8_encode'$rows);
     
$json json_encode($arr);
  } 
json_encode funktioniert nur, wenn der String UTf-8 encoded ist.
12/11/2015 00:49 Devsome#9
Dies könnte man auch mit

Code:
json_encode($response, JSON_UNESCAPED_UNICODE);
Oder

Code:
$var = mb_convert_encoding($dbData, "UTF-8", "auto");
lösen. Hoffe die Formatierung klappt (gesendet vom Handy)
12/11/2015 07:26 sven12345#10
Quote:
Originally Posted by Devsome View Post
Dies könnte man auch mit

Code:
json_encode($response, JSON_UNESCAPED_UNICODE);
Oder

Code:
$var = mb_convert_encoding($dbData, "UTF-8", "auto");
lösen. Hoffe die Formatierung klappt (gesendet vom Handy)
Probier ich später mal aus, habe die connection auf charset utf-8 gesetzt und die Results dann utf-8 decoded -> dann ging auch das json_encode ohne Probleme