PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (1): [1]
Найдено сообщений: 9
Valkadaf
Отправлено: 18 Марта, 2012 - 00:46:19 • Тема: Использование констант в MySQL запросах • Форум: SQL и Архитектура БД
Ответов: 3 Просмотров: 43
Подскажите, можно ли как-то использовать в запросах константы? Дело в том, что вместо подстановки значения константы ее имя воспринимается как строка.
USR_PASS, USR_GROUP, USR_NAME, SQL_TABLE и USR_ID - предопределенные константы.
Выводит ошибку: Table 'ncc.sql_table' doesn't exist
Valkadaf
Отправлено: 20 Февраля, 2012 - 20:24:51 • Тема: Что не так? • Форум: SQL и Архитектура БД
Ответов: 6 Просмотров: 33
LIME пишет: ошибка скорее всего в коде который вы не показали
да и неважно
чтоб не мучались вот
PHP:
скопировать код в буфер обмена
$result = mysql_query ( "SELECT $db_columnPass , $db_columnSalt FROM $db_table WHERE $db_columnUser ='$login '" ) or
die ( "Запрос к базе завершился ошибкой." ) ; //извлекаем из базы все данные о пользователе с введенным логином $realPass = $myrow [ $db_columnPass ] ;
$salt = $myrow [ $db_columnSalt ] ;
Спасибо!
Valkadaf
Отправлено: 20 Февраля, 2012 - 20:15:38 • Тема: Что не так? • Форум: SQL и Архитектура БД
Ответов: 6 Просмотров: 33
LIME пишет: Valkadaf а зачем вообще 2 запроса?
почему не в одном?
Как бы "мопед не мой". Изначально запрос был один, но в IPB есть "соль", а так как мускул я пока что осилить не успел, то просто скопипастил.
Upd. Убрал сообщения после die, всё заработало, но факт остается фактом, ошибка есть. Как оформить в один запрос, если не трудно?
Upd2. Все, разобрался, добавил mysql_error(), всё ясно. И всё же, как в один запрос сделать?
Valkadaf
Отправлено: 20 Февраля, 2012 - 20:01:10 • Тема: Что не так? • Форум: SQL и Архитектура БД
Ответов: 6 Просмотров: 33
CODE (
PHP ):
скопировать код в буфер обмена
$result = mysql_query ( "SELECT $db_columnPass FROM $db_table WHERE $db_columnUser ='$login '" ) or
die ( "Запрос к базе завершился ошибкой." ) ; //извлекаем из базы все данные о пользователе с введенным логином $realPass = $myrow [ $db_columnPass ] ;
$result = mysql_query ( "SELECT $db_columnSalt FROM $db_table WHERE $db_columnUser ='$login '" ) or
die ( "Запрос к базе завершился ошибкой." ) ; $salt = $myrow [ $db_columnSalt ] ;
По отдельности извлечение хеша и извлечение "соли" работает, а вместе не подключается к БД.
Valkadaf
Отправлено: 09 Октября, 2011 - 21:52:30 • Тема: Fatal error: Cannot redeclare readmat() (previously declared in Z:\home\math.tk\www\inc.php:3) in Z:\home\math.tk\www\inc.php on line 26 • Форум: Вопросы новичков
Ответов: 5 Просмотров: 608
Добрый вечер. Вот прошу помощи, так как сам уже замучился искать ошибку.
При запуске выдает такое:
Цитата: Fatal error: Cannot redeclare readmat() (previously declared in Z:\home\math.tk\www\inc.php:3) in Z:\home\math.tk\www\inc.php on line 26
index.php
inc.php
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
//формирование формы ввода(имя матрицы, значение по-умолчанию, ширина, высота)--
function readmat( $matname , $default , $width , $height ) //таблица для считывания матрицы
{
$tab = '' ;
function default_val( $default , $n , $m )
{
if ( is_array ( $default ) ) $defval = $default [ $n ] [ $m ] ; else $defval = $default ;
return $defval ;
}
$tab .= '<table border = "1" align = "center">' ;
for ( $i = 1 ; $i <= $width ; $i ++ )
{
$tab .= '<tr>' . "\n " ;
for ( $j = 1 ; $j <= $height ; $j ++ )
{
//проверка значения по-умолчанию на мaсив
$value = ( ! empty ( $_GET [ $matname . $i . $j ] ) ) ?
$_GET [ $matname . $i . $j ] : default_val
( $default , $i , $j ) ; $tab .= '<td><input type = "number" name = "' . $matname . $i . $j . '" value = "' . $value . '" size = "5"></td>' . "\n " ;
}
$tab .= '</tr>' . "\n " ;
}
$tab .= '</table>' . "\n " ;
return $tab ;
}
//приводм полученую срань в порядок
//формирование масива(содержание формы, имя матрицы, ширина, высота)------------
function srctomat( $getmat , $matname , $width , $height )
{
for ( $i = 1 ; $i <= $width ; $i ++ )
{
for ( $j = 1 ; $j <= $height ; $j ++ )
{
$mat [ $i ] [ $j ] = $getmat [ $matname . $i . $j ] ;
}
}
return $mat ;
}
//недопиленый вывод матрицы.******АХТУНГ!******
//формирование таблицы(матрица, ширина, высота)---------------------------------
function printmat( $matarr , $width , $height )
{
$mat = '<table border = "0" align = "center">' ;
for ( $i = 1 ; $i <= $width ; $i ++ )
{
$mat .= '<tr>' . "\n " ;
if ( $i == 1)
{
$lines = '<td ROWSPAN=' . $height . '><img src = "img/lines.png"></img></td>' . "\n " ;
}
else
{
$lines = "" ;
}
$mat .= $lines ;
for ( $j = 1 ; $j <= $height ; $j ++ )
{
$mat .= '<td align= "right">' . $matarr [ $i ] [ $j ] . '</td>' . "\n " ;
}
$mat .= $lines ;
$mat .= '</tr>' . "\n " ;
}
$mat .= '</table>' . "\n " ;
return $mat ;
}
//транспонирование(матрица, ширина, высота)-------------------------------------
function transmat( $mat , $width , $height )
{
for ( $i = 1 ; $i <= $width ; $i ++ )
{
for ( $j = 1 ; $j <= $height ; $j ++ )
{
$trmat [ $i ] [ $j ] = $mat [ $j ] [ $i ] ;
}
}
return $trmat ;
}
//прибавление матриц(матрица1, матрица2, ширина, высота)------------------------
function matpmat( $mat1 , $mat2 , $width , $height )
{
for ( $i = 1 ; $i <= $width ; $i ++ )
{
for ( $j = 1 ; $j <= $height ; $j ++ )
{
$resmat [ $i ] [ $j ] = $mat1 [ $i ] [ $j ] + $mat2 [ $i ] [ $j ] ;
}
}
$res = printmat( $resmat , $width , $height ) ;
return $res ;
}
function matxnum( $mat , $width , $height , $num )
{
for ( $i = 1 ; $i <= $width ; $i ++ )
{
for ( $j = 1 ; $j <= $height ; $j ++ )
{
$matxn [ $i ] [ $j ] = $num * $mat [ $i ] [ $j ] ;
}
}
$res = printmat( $matxn , $width , $height ) ;
return $res ;
}
//отладочная функция, потом м.б. выпилю!
//матрица из случайных чисел()-------------------------------------------------
function randmat( )
{
for ( $i = 1 ; $i <= 3 ; $i ++ )
{
for ( $j = 1 ; $j <= 3 ; $j ++ )
{
$randmat [ $i ] [ $j ] = rand ( 100
, 999
) ; }
}
return $randmat ;
}
?>
matpmat.php
Спойлер (Отобразить ) PHP:
скопировать код в буфер обмена
<?PHP
include ( "inc.php" ) ;
echo "<h1 align = \" center\" >Сложение матриц</h1>\n " ;
< br />< a href = "/trololo.php" >< img src = "/sorry.png" ></ a></ center> ';
$matname1 = "a";
$matname2 = "b";
if(!isset($_GET[submit]))
{
echo ' < form action = "index.php" method= "get" > ';
echo ' < input type= "hidden" name = "i" value = "matpmat" > ';
$tab = ' < center>< table>< tr>< td> ';
$tab .= readmat($matname1, ' 0 ', 3, 3);
$tab .= ' </ td>< td>& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;</ td>< td> ';
$tab .= readmat($matname2, ' 0 ', 3, 3);
$tab .= ' < td>< tr>< table> ';
echo $tab.' < br /> ';
echo ' < center>< input type = "submit" value = "Прибавить" name = "submit" >& nbsp;& nbsp;& nbsp;
< input type= "checkbox" name= "sol" value= "1" /> Решение</ center> ';
echo ' </ form> ';
echo ' < center>< a href = "/index.php" > На главную</ a></ center> '."\n";
}
else
{
$mat1 = srctomat($_GET, $matname1, 3, 3);
$mat2 = srctomat($_GET, $matname2, 3, 3);
$res = matpmat($mat1, $mat2, 3, 3);
//вывод решения-----------------------------------------------------------------
if($_GET["sol"] == 1)
{
$sol = ' < br />< br />< br />< table align = "center" >< tr>< td colspan = "7" >< h3 align = "center" > Решение:</ h3></ td></ tr>< tr>< td> '.printmat($mat2, 3, 3).' </ td>< td>& nbsp;+& nbsp;</ td> ';
$sol .= ' < td> '.printmat($mat2, 3, 3).' </ td>< td>=</ td> ';
for($i=1; $i<=3; $i++)
{
for($j=1; $j<=3; $j++)
{
if($mat2[$i][$j] < 0) $mat2[$i][$j] = ' ( '.$mat2[$i][$j].' ) ';
$solmat[$i][$j] = ' & nbsp;< font color= "red" > '.$mat1[$i][$j].' </ font>& nbsp;+& nbsp;< font color= "blue" > '.$mat2[$i][$j].' </ font>& nbsp; ';
}
}
$sol .= ' < td> '.printmat($solmat, 3, 3).' </ td>< td>=</ td> ';
$sol .= ' < td> '.$res.' </ td></ tr></ table> ';
}
/*echo ' < br />< font color = "red" > $mat1 : '.print_r($mat1, 1).' </ font> ';
echo ' < br />< font color = "green" > $mat2 : '.print_r($mat2, 1).' </ font> ';
echo ' < br />< font color = "blue" > $_GET : '.print_r($_GET, 1).' </ font> ';
echo ' < br />< font color = "cyan" > $resmat : '.print_r($resmat, 1).' </ font>< br /> '; */
echo $res;
echo $sol;
echo ' < br />< center>< a href = "/index.php?i=matpmat" > Назад</ a>< br /> '."\n";
echo ' < a href = "/index.php" > На главную</ a></ center> '."\n";
}
?>
Писал для тренировки, но застопорился маленько...
Страниц (1): [1]
Powered by ExBB FM 1.0 RC1. InvisionExBB