mysql — переменные не работают между (2) PHP-скриптами

У меня есть (2) PHP-скрипты: один написан на PHP 4.0, а второй написан на PHP 5.6 (мой провайдер обновил серверы, и теперь они работают только на PHP 5.6, поэтому мне пришлось конвертировать скрипт 4.0 в 5.6)

Однако, когда я использую сценарий PHP 4.0, до обновления ISP все работало идеально, но когда я использую сценарий PHP 5.6 (который был преобразован), этот сценарий не подключается к серверу mySQL и не возвращает никаких значений.

Мне интересно, может быть, что-то не так с начальными переменными или что-то отсутствует во втором скрипте PHP 5.6, который был преобразован из более раннего скрипта PHP 4.0

Спасибо

Вот (2) PHP-скрипты

Скрипт PHP 4.0

    <?php

$userdb="var1";

$pass="var2";

$database="var3";

mysql_connect("sql.servername.com",$userdb,$pass);@mysql_select_db($database) or die ( header('location: status4.htm') );$match = "select id from USER_ACCOUNTS where username = '$username' and password = '$password'";

$qry = mysql_query($match)
or die ( header('location: status.htm?status=9') );
$num_rows = mysql_num_rows($qry);

// Valid Username and Password

if ($num_rows > 0) {

$qry = "SELECT * FROM USER_ACCOUNTS WHERE username like '%" . $username . "%'";
$res = mysql_query($qry);
$output='';while($row = mysql_fetch_assoc($res)){

// loop through all returned results

$output .= '&viewUsername=' . $row['viewUsername'] . '&viewPassword=' . $row['viewPassword'] . '&username=' . $row['username'] .

'&password=' . $row['password'] . '&name=' . $row['name'] . '&title=' . $row['title'] . '&email=' . $row['email'] . '&admin=' .

$row['admin'] . '&file=' . $row['file'] . '&file2=' . $row['file2'] . '&file3=' . $row['file3'] . '&file4=' . $row['file4'];

echo "&status=1";

echo $output;

}

}

?>

А вот и скрипт PHP 5.6

 <?php

//error_reporting(1);
//ini_set('display_errors', '1');

// mysql connection
$db_host = 'sql.servername.com';
$db_user = 'var1';
$db_pass = 'var2';
$db_name = 'var3';

$dbh = new PDO('mysql:host='.$db_host.';dbname='.$db_name.';charset=utf8', $db_user, $db_pass);

// submit form
if (isset($_POST['submit']))
{

$username = $_POST['username'];
$password = $_POST['password'];

$stmt = $dbh->prepare("SELECT * FROM USER_ACCOUNTS WHERE username = :username AND password = :password");
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $password);
$stmt->execute();
$number_of_rows = $stmt->fetchColumn();

// Valid Username and Password
if ($number_of_rows > 0)
{
$row = $stmt->fetchAll();

$output = '';

while($row)
{
// loop through all returned results
$output .= '&viewUsername=' . $row['viewUsername'] . '&viewPassword=' . $row['viewPassword'] . '&username=' . $row

['username'] . '&password=' . $row['password'] . '&name=' . $row['name'] . '&title=' . $row['title'] . '&email=' . $row['email'] .

'&admin=' . $row['admin'] . '&file=' . $row['file'] . '&file2=' . $row['file2'] . '&file3=' . $row['file3'] . '&file4=' . $row

['file4'];
echo "&status=1";
echo $output;
}
}

}

?>

-1

Решение

Решил — просто замени $REMOTE_ADDR с $_SERVER['REMOTE_ADDR'] в скрипте конвертировать из PHP 4.0 в PHP 5.6 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]