Проблем с php5.5

vasilev5

Registered
каква е разликата между рнр3.1 и 5.5
Кое не е наред с този код:
while ($row=mysql_fetch_row($result)) {
if (strlen($row['1'])>49)
{$points='...';}
else
{$points='';}
$row['1'] = substr($row['1'],0,49);
$row['1']=substr($row['1'],0 , 49);
echo"<tr><td> <a href=\"?d=dir&c=lessons&p=lesson&view=$row[0]\"><left>$row[2] : $row[1]$points </a></td></tr>";
}
че php5.5 не го изпълнява. До сега с версия 3 рабитеше без проблем, но откакто хоста го направиха на 5.5 не работи.
 
Поне кажи каква грешка ти дава и какво не ти работи?

Възможни проблеми са:
1. Модула mysql е деприкейтнат - скоро ще бъде спрян въобще. Съответно всички функции mysql_* са деприкейтнати и това поже да бъде проблем;

2. PHP 5.5 използва собствен конектор за връзка с mysql. Всички налични драйвери (mysql , mysqli и PDO) минават през въпросния конектор, наречен mysqlnd. Този конектор обаче поддържа версии на mysql СЛЕД 4.1.х - ако ползваш версия 4.0 и по-ниска - нямаш шанс.

3. Парсването на променливи през стринг крие опасности, ако не ги ескейпваш - това $row[1]$points не ми харесва. Променлива се ескейпва чрез {} - n&view={$row[0]}\"

4. Проблема ти може да бъде от настройки, модули или код, който не е включен....
 
Това е целият ми код:
<?php
session_start();
//Ïðîâåðÿâà èìà ëè îòâîðåíà ñåñèÿ è àêî íÿìà íè èçêàðâà "Íÿìàòå äîñòúï äî òàçè ñòðàíèöà!"
if(isset($_SESSION['username'])){ $ses=$_SESSION['username'];
if($_SESSION['level'] != ""&&$_SESSION['level'] == 5){
echo "gotovo";
}
$db_conn = mysql_connect("$host", "$dbusername", "$dbpassword")
or die("unable to connect to the database");
mysql_select_db("$db", $db_conn) or die("unable to select the database");
$query="SELECT id,title,category FROM lesson_posts WHERE category ='11 klas' ORDER BY id ";
$result=mysql_query($query, $db_conn) or die(mysql_error($db_conn));
echo '<left><table border="1">
<tr><td align="left" class="names" >Литература 11 клас:
</td></tr>';
while ($row=mysql_fetch_row($result)) {
if (strlen($row['1'])>49)
{$points='...';}
else
{$points='';}
$row['1'] = substr($row['1'],0,49);
$row['1']=substr($row['1'],0 , 49);
echo"<tr><td> <a href=\"?d=dir&c=lessons&p=lesson&view=$row[0]\"><left>$row[2] : $row[1]$points </a></td></tr>";
}
echo "</table>";

} else { echo "Нямате достъп!";
}

?>
от базата данни ми излиза колко пъти е видян, но не излиза самия урок
в хоста прочетох:
Версия на сървъра: 5.5.40-cll - MySQL Community Server (GPL)
phpMyAdmin
Весия: 4.0.10.6, актуална стабилна версия: 4.3.7
До преди дни, преди да се промени рhp хоста нямах никакъв проблем и си работеше без проблеми
 

Back
Горе