![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Guest
Сообщений: n/a
|
люди знаю номер записи в базе, как презаписать все значения этой записи...
СЕНКС |
|
|||||
|
Теоретик и Практик
|
выполнить запрос:
$sql = ' UPDATE имя_таблицы SET field1="'.$field1.'", field2="'.$field2.'" WHERE id="'.$id.'" '; где: $field1, $field2 - поля, значение которых надо поменять $id - номер записи в базе |
|
|||||
|
Ветеран форума
|
Цитата:
а не проще ли ... SET field1='$field1', field2='$field2'
__________________
... |
|
|||||
|
Теоретик и Практик
|
как знать, как знать...
правила и "понятия" кавычек (для тех, кто в танке): - одинарные кавычки '' советуется использовать для статических данных, поскольку они не анализируются интерпретатором (все что в них берется как есть) - двойные кавычки "" анализируются (тоесть переменная, как в твоем случае, будет проанализирована). вроде нормально. только зачем заставлять движок анализировать грубо говоря из-за одной переменной два абзаца текста... имхо потери производительности. неэффективность. это понятно, да? а теперь ситуация... тебе надо не просто переменную, а функцию... например, банально - addslashes(); с твоим подходом придется делать так: $var = addslashes($var); $sql = " ... var='$var'"; c моим подходом делается проще: $sql = ' ... var="'.addslashes($var);.'" '; мой подход (ну, не мой - просто один из хороших подходов) аналогичен подходу пхп+хтмл вместо полного пхп (где тупая строчка <p> выводится с помощью оператора echo), тоесть типа того:<? пхп-скрипт ?> хтмл-код <? пхп-скрипт ?> не хочу затевать спор, но имхо доказано что подход, который я использую хоть и выглядит немного коряво на первый взгляд, является более эффективным и более удобным для интерпретатора... |
|
|||||
|
Guest
Сообщений: n/a
|
чет не работает...
Я наверно еще и запись не правильно ищу да? <? mysql_connect("localhost","aaa","bbb","zzz"); mysql_select_db("db5"); $res=mysql_query("SELECT * FROM db_user_partners"); $rows=mysql_num_rows($res); $ccc="dido"; for($i=0; $i<$rows; $i++) { $u_id=mysql_result($res,$i,1); if($u_id==$login) { $res=mysql_query("UPDATE db_user_partners SET firm_name='.$ccc.' WHERE id='.$i.'"); break; } } ?> |
|
|||||
|
Guest
Сообщений: n/a
|
Слушайте можете обяснить вообще по какоому принципу работает
int mysql_query(string query, int [link_identifier] ); я не все допонимаю... |
|
|||||
|
Guest
Сообщений: n/a
|
Даже это не работает... Лажа какая-то
<? mysql_connect("localhost","Uwww530S","XAiGcMwH","udb530"); mysql_select_db("udb530"); $p1="aaa"; $p2="8"; mysql_query( "INSERT INTO db_tovar_type ( tovar_type, tovar_id) VALUES ( '$p1', '$p2')"); ?> Помогите А? |
|
|||||
|
Теоретик и Практик
|
int mysql_query(string query, int [link_identifier] ) означает, что
для запуска функции необходим один обязательный параметр - string query - именно сам SQL-запрос, который должен быть строкой, а также один необязательный параметр - int [link_identifier] - идентификатор соединения с базой, установленный с помощью функции mysql_connect (mysql_pconnect), который должен быть целым числом (ну это понятно, идентификатор же)... если идентификатор не указать явно, то функция попытается использовать последнее подключение к бд. ну а слово int перед именем функции означает, что она возвращает результат - целое число. это есть идентификатор, который потом можно использовать для других функций, например mysql_fetch_row(); с этим понятно? а теперь по твоим скриптам.... ты не думал об необходимости выводить ошибки? для того чтобы понять, что не так... основная рекоменданция начинающим программистам: не глушите сообщения об ошибках. если глушите - напишите свою функцию, которая будет выводить детальную информацию об ошибках. в твоем случае делаем так: $db = mysql_connect ('localhost', 'root', 'root') or die ( mysql_error() ); mysql_select_db ('db1') or die ( mysql_error() ); ... $sql = "SELECT * FROM db1 WHERE id='1'"; $result = mysql_query ($sql) or die ( mysql_error() ); сравниваем с твоим кодом и делаем выводы: - ты не сохраняешь идентификатор соединения с бд. пока скрипты простые, все нормально. потом без этого не обойдешся, а переучиваться - ОЧЕЕЕЕНЬ сложно. - ты не прекращаешь культурно выполнение сценария выводя ошибку в этом месте. поэтому не понимаешь, что происходит, и почему ничего не работает. - удобнее SQL-запрос делать отдельной переменной, передавая ее в функцию mysql_query. это действительно удобнее, например если надо запустить разные запросы при разных условиях. и последний совет... достань книгу по MySQL или скачай мануалу, и читай, читай, читай... потому что MySQL как реализация языка SQL является такими дебрями по сравнению с ПХП... просто ужас... Последний раз редактировалось ihorko; 10.09.2002 в 16:14. |
|
|||||
|
Guest
Сообщений: n/a
|
за долгое время на форуме не разуу не получал столь толкового объяснения.
Спасибо... ![]() |
|
|||||
|
Теоретик и Практик
|
спасибо тебе за теплые слова
![]() мне не сложно помочь... а когда вспоминаю, когда начинал, спрашивал, а мне 2 непонятных слова в ответ... то в свою очередь стараюсь уже ответить доступно... разобрался со своим скриптом? работает? |
![]() |
Часовой пояс GMT +4, время: 08:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|