Spanish [SOLUCIONADO]Erro: Internal Server Error ¿Hosting?

TheFalcon

Active Member
Licensed User
Longtime User
hostalia , e conseguido entrar en los logs y me muestra esto del ultimo acceso

[Tue Nov 10 12:05:58 2020] [error] PHP Warning:
[Tue Nov 10 12:22:48 2020] [error] PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 'u5701564_**'@'10.6.64.**' (using password: YES) in /var/www/vhosts/41/218893/webspace/httpdocs/MiWEBB/probarsqli.php on line 2
[Tue Nov 10 12:22:48 2020] [error] [client 80.28.73.***] File does not exist: /var/www/vhosts/41/218893/webspace/httpdocs/MIWEB/favicon.ico, referer: http://MIWEB/probarsqli.php
 

f0raster0

Well-Known Member
Licensed User
Longtime User
¿Estás seguro que el usuario tiene permisos para esa base de datos?
 

TheFalcon

Active Member
Licensed User
Longtime User
¿Estás seguro que el usuario tiene permisos para esa base de datos?
Rectifico he probado y con el usuario de siempre no me deja, con el nuevo y el scrip php me da conexión realizada.
Ahora me queda probar a como pasar el Query echo en versión 5 a versión 7 para ver si funciona
 

TheFalcon

Active Member
Licensed User
Longtime User
Mi ultimo intento con PHP7 antes de pasar a php5. He usado el Scrip que me devuelve OK a la conexión

B4X:
<?php
$enlace = mysqli_connect("IP:PUERTO", "USER", "PASS", "BD");

if (!$enlace) {
    echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
    echo "error de depuración: " . mysqli_connect_errno() . PHP_EOL;
    echo "error de depuración: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Éxito: Se realizó una conexión apropiada a MySQL! La base de datos mi_bd es genial." . PHP_EOL;
echo "Información del host: " . mysqli_get_host_info($enlace) . PHP_EOL;

mysqli_close($enlace);
?>

y la he modificado dejándola así (No se si sera la forma correcta)

B4X:
<?php
$enlace = mysqli_connect("IP:PUERTO", "USER", "PASS", "BD");

if (!$enlace) {
    echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
    echo "error de depuración: " . mysqli_connect_errno() . PHP_EOL;
    echo "error de depuración: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$rows = array();
    while($r = mysqli_fetch_assoc($sth)) {
        $rows[] = $r;
    }
    print json_encode($rows);

mysqli_close($enlace);
?>

y la aplicacion antes me daba internal server error, con ese query ahora me da error en java al iniciar, no se si tendra algo que ver.

B4X:
*** Service (httputils2service) Create ***
** Service (httputils2service) Start **
** Service (httputils2service) Start **
Response from server: []
main_jobdone (java line: 831)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.get(ArrayList.java:437)
    at anywheresoftware.b4a.objects.collections.List.Get(List.java:117)
    at com.Fjo.Acesur.main._jobdone(main.java:831)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:213)
    at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1178)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

y ahora voy a probar el php 5 por que esto ya me esta sobrepasando , como se arregle volviendo atras no me complico mas la vida ni la vuestra.

Muchas Gracias
 

TheFalcon

Active Member
Licensed User
Longtime User
Bueno pues lo dicho, volviendo a php5 la aplicación vuelve a funcionar sin problemas ...... indagare los cambios que he de hacer para que me funcione en una versión superior de php, ya que no se si solo falla el Query, o también puede ser que tenga que actualizar el modo de conectar desde La apk.

Muchas Gracias a todos, daré le hilo por cerrado , y cuando arregle el problema del PHP7 lo pondré para que si alguien mas le pasa sepa como arreglarlo.
Un saludo
 

TheFalcon

Active Member
Licensed User
Longtime User
Ya lo solucione, Erel hizo un actualización del codigo en un Post, que e encontrado rebuscando. La consulta en PHP7 Sería asi

B4X:
<?php

$databasehost = "localhost";
$databasename = "xxxx";
$databaseusername ="xxxx";
$databasepassword = "xxxx";

$con = mysqli_connect($databasehost,$databaseusername,$databasepassword, $databasename) or die(mysqli_error($con));
mysqli_set_charset ($con , "utf8");
$query = file_get_contents("php://input");
$sth = mysqli_query($con, $query);

if (mysqli_errno($con)) {
   header("HTTP/1.1 500 Internal Server Error");
   echo $query.'\n';
   echo mysqli_error($con);
}
else
{
   $rows = array();
   while($r = mysqli_fetch_assoc($sth)) {
     $rows[] = $r;
   }
   $res = json_encode($rows);
    echo $res;
    mysqli_free_result($sth);
}
mysqli_close($con);
?>

el post es este por si alguien quiere mirarlo

Post de Erel
 
Top