- This topic has 0 replies, 1 voice, and was last updated 1 year ago by
Erjon Rrapi.
-
AuthorPosts
-
January 7, 2025 at 8:08 am #1384
Erjon Rrapi
Participant- Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php:33 Stack trace: #0 C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php(33): PDOStatement->execute(Array) #1 C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php(74): DB->run(Array) #2 C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\user.class.php(19): DB->where(‘id = :id’, Array) #3 C:\xampp\htdocs\Practice\OOP\OOP_Example\index.php(5): User->update_by_id(Array, 1) #4 {main} thrown in C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php on line 33
Ndodh kur nuk kalojme parametrat e duhura ose kur parametrat nuk jane defined. Ne rastin tone po perpiqemi te kalojme parametrat username dhe id por ato nuk kalojne sic duhet.
Zgjidhje : Per te pare gabimin bejme echo ne klasen ku parametrat duhet te kalojne per te pare nese kalojne ose jo dhe nese po cfare konkretisht.Pasi kemi bere echo shohim qe kemi bashkim te fjaleve dhe databasa e lexon si nje te vetme. Kjo shpjegon dhe errorin i cili na tergon qe nuk njeh parametrat qe po kalojme. Ne momentin qe duam te kalojme dhe id fjala bashkohet dhe ben qe id te kaloje si parameter i panjohur.
Per ta zgjidhur kete na duhet te shtojme nje hapesire ne momentin kur bejme update parametrave.Tani kemi hapesire midis fjaleve dhe kodi funksionon sic duhet.
- Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘password= ‘pass’ where id = ‘1” at line 1 in C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php:34 Stack trace: #0 C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php(34): PDOStatement->execute(Array) #1 C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php(76): DB->run(Array) #2 C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\user.class.php(19): DB->where(‘id = :id’, Array) #3 C:\xampp\htdocs\Practice\OOP\OOP_Example\index.php(6): User->update_by_id(Array, 1) #4 {main} thrown in C:\xampp\htdocs\Practice\OOP\OOP_Example\classes\db.class.php on line 34
Ndodh kur kemi probleme sintaksore me databasen tone.
Zgjidhje : Bejme echo per te pare se cfare kalon ne database.Ne momentin kur duam te kalojme me shume se nje parameter duhet ti ndajme ato me presje “,”. Nga echo qe i beme kodit shikojme qe nuk i kemi te ndara dhe duhet ta shtojme.
Pasi e shtojme shikojme qe na shfaqet i njejti error po tani nga printimi verejme qe presja “,” eshte shtuar midis 2 parametrave qe duam te ndajme por edhe kur duam te kalojme id. Kjo ben qe te kemi error sintakse.
Per te eleminuar presjen ne fund perdorim metoden trim( ) POR duhet te kemi shume kujdes te mos leme hapesire pas presjes ne kod sepse kjo do te beje qe metoda trim( ) te mos funksionoje.
Tani kodi funksionon sic duhet .
-
AuthorPosts
- You must be logged in to reply to this topic.
