Kezdőoldal » Számítástechnika » Programozás » Hostinger: pdo probléma. Én...

Hostinger: pdo probléma. Én hibázok?

Figyelt kérdés

Bevallom, a PDO terén kezdő vagyok. Localhoston remekül működik amit megírtam, viszont a hostingernél nem akar (pedig támogatják a pdo-t).


Az adatbázis kapcsolattal nincs probléma, egy lekérés szépen lefut query-vel.

Az insert-nél prepare-t használok, viszont itt kezdődnek a gondok. Először az execute()-ra "panaszkodott" (nem, igazából nem panaszkodott, gógülből tudtam meg, hogy az üres képernyő és http 500-as hiba az arra utal, hogy nincs execute függvény) így a zárójeleket eltávolítva a hiba megszűnt. (Bár azt nem tudom működőképes lesz-e.)

Viszont ha a $bejegyez->bindParam(':lid', $lid); sorokat nem kommentelem ki, továbbra is hozza a hibát. Semmilyen error-t nem kapok (error_reporting(E_ALL);)! Szimplán a lekérés alatti részek nem töltenek be..


Hol hibázok? XAMPP-on remekül megy, hiba nélkül minden...

(hostinger:pdo_mysql Client API version 10.0.11-MariaDB)

(localhost:pdo_mysql Client API version mysqlnd 5.0.10 - 20111026 - $Id: e707c415db32080b3752b232487a435ee0372157 $)


Van rá jó megoldás, ami nem jelent sok plusz munkát? (Itt szerintem csak ideiglenesen lesz az oldal, tehát lehet a végleges helyen megszűnik majd a probléma.) Vagy én követtem el valami fatális hibát?


A segítségeket előre is köszönöm! :)



#php #Hostinger #bindparam
2014. jún. 4. 14:50
 1/8 Tengor ***** válasza:
Ide vonatkozó kódrészletet lehetne látni?
2014. jún. 4. 14:57
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

$bejegyez = $sqlkapcsolat->prepare('INSERT INTO `ugyfelszolgalat_naplo` (`lid`, `uid`, `ido`) VALUES (:lid, :uid, :ido)');

$bejegyez->bindParam(':lid', $lid);

$bejegyez->bindParam(':uid', $uid);

$bejegyez->bindParam(':ido', $ido);

$bejegyez->execute();


Természetesen kapnak értéket a változók.

Szóval a kérdésem pontosabban: miért kapok 500-as hibát?

2014. jún. 4. 14:58
 3/8 A kérdező kommentje:

Ez pedig az, ami hiba nélkül működik:

//Létezik-e a rekord

function letezike($sqlkapcsolat, $tabla, $mezo, $ertek)

{

$sorok = $sqlkapcsolat->query("SELECT `".$mezo."` FROM `".$tabla."` WHERE `".$mezo."` = '".$ertek."' LIMIT 1");

return $sorok->rowCount();

}

2014. jún. 4. 15:01
 4/8 A kérdező kommentje:

létrehoztam egy php file-t ezzel a tartalommal (tehát semmi sem zavarhat bele) és továbbra sem működik.


$lid = 1; $uid = 2; $ido = 3;

include_once("beallitasok.php");

try {

$sqlkapcsolat = new PDO("mysql:host=".SQLHOST.";dbname=".SQLDB, SQLUSER, SQLPASS, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

$sqlkapcsolat->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch(PDOException $e) {

echo $e->getMessage();

}

$bejegyez = $sqlkapcsolat->prepare('INSERT INTO `ugyfelszolgalat_naplo` (`lid`, `uid`, `ido`) VALUES (:lid, :uid, :ido)');

$bejegyez->bindParam(':lid', $lid);

$bejegyez->bindParam(':uid', $uid);

$bejegyez->bindParam(':ido', $ido);

$bejegyez->execute();


Ezt kapja a böngésző:

Remote Address:31.170.164.109:80

Request URL: [link]

Request Method:GET

Status Code:500 Internal Server Error

Request Headersview source

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Accept-Encoding:gzip,deflate,sdch

Accept-Language:hu-HU,hu;q=0.8,en-US;q=0.6,en;q=0.4

Cache-Control:max-age=0

Connection:keep-alive

Cookie:PHPSESSID=84ba78998563a37239d277e5fd078065

Host:oic.esy.es

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36

Response Headersview source

Connection:keep-alive

Content-Length:0

Content-Type:text/html

Date:Wed, 04 Jun 2014 13:39:49 GMT

Server:nginx

X-Powered-By:PHP/5.3.28

2014. jún. 4. 15:41
 5/8 Tengor ***** válasza:

Ne privátba!

Az SQLHOST az localhosstal egyenlő?

2014. jún. 5. 07:40
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

SQLHOST-nak ez az értéke: mysql.hostinger.hu

A kapcsolat egyébként jó. Sima query-vel működik. Én azt vettem észre, hogy magával az execute() függvénnyel van baja. Az érdekesség, hogy neten utánaolvasva ilyen hibát akkor produkál ha valaki a pdo-tól kéri az execute() függvényt és nem a PDOStatement osztálytól. Ami érthető is lenne... Viszont ez a típushiba nálam nem áll fent, ezért nem is értem mi okozhatja a gondot. Lehet tényleg valami triviális dolog, de egyszerűen nem látom.

2014. jún. 5. 07:57
 7/8 anonim ***** válasza:

Le van tiltva az execute ennél a s**r szolgáltatónál, mivel keverik a PHP exec() függvényével. Magas szakértelem! Úgyhogy nem a kódodban van a hiba, keress másik szolgáltatót.

http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..

2014. jún. 24. 23:26
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Ja bocs, te írtad ki azt a kérdést is :) Már megörültem, hogy szidhatom a szakértő szolgáltatód.
2014. jún. 24. 23:27
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!