webForumDet fria alternativet

Databaskopplingar med PHP 7

PHP

2 svar · 174 visningar · startad av filipbh

Medlem sedan juli 2002405 inlägg
Frågan#1

Jag uppdaterade Mysql-databasen igår till PHP 7.0. Det var dumt. Väldigt längesen jag satt med kodning och har inte tänkt på att språket verkar vara helt (åtminstone halvt) annorlunda. Nu fungerar inte mina kopplingar för SELECT, UPDATE och INSERT. Tidigare hade jag bra mallar för de men nu fungerar ingen av dem. Har ni några enkla mallar som fungerar?

Medlem sedan jan. 2005953 inlägg
#2

Det finns gott om exempel i PHP-manualen som du kan titta på. Om du visar den kod du använder så är vi nog många här som kan hjälpa dig i rätt riktning också. Kan det vara så att du fortfarande använder mysql-funktionerna (mysql_connect, mysql_query, etc)? De har varit deprecated sen PHP 5.5.0 som släpptes 2013, och togs bort i PHP 7. Använd MySQLi eller PDO_MySQL istället.

MySQLi:
http://se1.php.net/manual/en/book.mysqli.php

PDO_MySQL:
http://se1.php.net/manual/en/ref.pdo-mysql.php

Själv föredrar jag PDO_MySQL men det är en smaksak vilket spår man väljer. Det är en lättare övergång från mysql till mysqli eftersom man då kan fortsätta att jobba procedurellt om man inte vill köra objektorienterat.

Medlem sedan juli 2002405 inlägg
#3

Nu hittar jag inte min UPDATE-mall. Ena hårddisken verkar ha kraschat och jag uppdaterade alla filer på nuvarande hemsida med MySQLi när jag läste lite om det här. Däremot så går det inte så bra. Här är tre olika mallar jag brukar köra på.

//Lägger till i databasen
$lank = mysql_connect ("localhost", "$u","$p");
$databas = mysql_select_db("$db");
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "INSERT INTO form(datumtid,ip,name,phone,email,service,company,customer_nr,message,status) VALUES('$tidjustnu','$ip','$form_name','$form_phone','$form_email','$form_service','$form_company','$form_customernr','$form_message','1')";
mysql_query($sql);
mysql_close ($lank);
//Slut lägger till i databasen

//Räknar antalet besök från IP-numret
$ant_ipbesok = 0;
$count_ipbesok = mysql_connect("localhost", "$u", "$p");
$sql = mysql_db_query("$db", "SELECT ip FROM besokare WHERE ip='" . $_SERVER[REMOTE_ADDR] . "'", $count_ipbesok);

     while ($rad = mysql_fetch_array($sql)) {
     $ant_ipbesok = $ant_ipbesok + 1;

     }
     mysql_close($count_ipbesok);

//Slut räkna besök

$open = mysql_connect ("localhost", "$u","$p");
$sql = "SELECT id,ip,datum FROM besokare WHERE ip='" . $_SERVER[REMOTE_ADDR] . "' ORDER BY id DESC LIMIT 1";
$result = mysql_db_query("$db","$sql");

while($besokspam_check=mysql_fetch_array($result)){
}

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)