Уважаемые, добрые люди. Прошу помощи.
Есть код. Все понимаю, все окей. Только вот:
1 вопрос:
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
Что здесь происходит, если можно в деталях?
2 вопрос:
можно ли вместо error_reporting(E_ALL & ~E_NOTICE) написать error_reporting(E_ALL)
Что поменяется? Почему у меня выдается ошибка?
3 вопрос:
"mysql" и "mysqli" в чем разница? Когда использовать то, когда другое?
4 вопрос:
while( $row = mysql_fetch_assoc( $result ) ) и while( $row = mysql_fetch_array( $result ) )
Опять же, когда то и когда второе? Что меняется?
5 вопрос:
Что здесь выполняет "true"? echo '', print_r($res_arr,true), '';
На практике вижу, на теории нуждаюсь в пояснениях.
Сразу извиняюсь, понимаю, что можно найти все в сети. Но как-то привык к сервису, плюс люди отзывчивые.
Спасибо Всем, кто отзовется.!
Вот код собственно:
<?php
error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
function connect() {
$server = 'localhost';
$user = 'user';
$pass = 'pass';
$res = mysql_connect($server,$user,$pass) or die("Could not connect: " . mysql_error());
mysql_set_charset('utf8',$res);
mysql_select_db('database');
return $res;
}
$db = connect();
$query = "SELECT * FROM `data`";
$result = mysql_query($query);
$delete = array();
$update = array();
$new = array();
while( $row = mysql_fetch_assoc( $result ) ) {
if ( in_array( $row['ident'], $_GET['ident'] ) )
{
$key = array_search( $row['ident'], $_GET['ident'] );
if ( $row['version'] > $_GET['version'][$key] )
{
$update[ $row['ident'] ] = array(
'value' => $row['value'],
'version' => $row['version'],
);
}
unset( $_GET['ident'][$key] );
unset( $_GET['value'][$key] );
unset( $_GET['version'][$key] );
}
else
{
$new[$row['ident']] = array(
'value' => $row['value'],
'version' => $row['version'],
);
}
}
if ( !empty( $_GET['ident'] ) )
{
foreach( $_GET['ident'] as $key1 => $line )
{
$delete[] = $_GET['ident'][$key1];
}
}
$res_arr = array(
'delete' => $delete,
'update' => $update,
'new' => $new
);
echo '<pre>', print_r($res_arr,true), '</pre>';
?>