PHP: <?php if($_POST['add']=="Submit"){ $link = mysql_connect("localhost", "root", "") or die("Could not connect"); mysql_select_db("1", $link) or die("Could not select database"); $query="insert into lgsl (adr, q_port, c_port) VALUES ('".$_POST['adr']."','".$_POST['q_port']."','".$_POST['c_port']."')"; $result = mysql_query($query) or die(mysql_error()); echo ""; echo "!!!"; mysql_close($link); Все работает. Только как сделать, что-бы при вводе q_port, записывалось тоже значение в c_port. Заранее благодарен
*режим телепатии включен* PHP: <?php if(!$_POST['c_port']) $_POST['c_port']=$_POST['q_port']; добавить перед формированием $query.
UPD: лежал PHP: <?php echo ""; echo "!!!"; прямо живая иллюстрация к фразе "слов нет, одни эмоции" :lol:
Спс большое, помогло. Еще один вопросик возник. сделать проверку. Например: Чтобы можно было добавлять адреса с разными q_port, а с одинаковыми q_port нельзя.
Не. Например у меня таблица: adr q_port c_port qwe 2212 2212 И я буду добавлять: adr q_port c_port asd 2212 2212 Если q_port сделать уникальным, то не добавится.
Извиняюсь, неправильно объяснил Тоесть у меня есть таблица и вней возможны такие записи: adr q_port c_port qwe 1234 1234 qwe 5678 5678 asd 1234 1234 Нужно сделать так, что если я, буду добавлять(например) еще раз: adr q_port c_port qwe 1234 1234 Она уже есть, что-бы она второй раз не добавилась.
Ну 2 варианта: либо уникальный индекс по adr+q_port и потом PHP: <?php $adr = mysql_escape_string($_POST['adr']); $q_port = mysql_escape_string($_POST['q_port']); $c_port = mysql_escape_string($_POST['c_port']); $query = "INSERT IGNORE INTO lgsl (adr, q_port, c_port) VALUES('$adr', '$q_port', '$c_port')"; if(mysql_affected_rows(mysql_query($query)) == 0){ echo 'Не не не Дэвид Блейн уже было'; } ?> Либо просто перед этим PHP: <?php $adr = mysql_escape_string($_POST['adr']); $q_port = mysql_escape_string($_POST['q_port']); $c_port = mysql_escape_string($_POST['c_port']); $result = mysql_query(SELECT adr WHERE adr='$adr' AND '$q_port'); if(mysql_fetch_row($result)){ // Записываем } ?> Но при втором варианте если посещаемость большая может пройти таки запись на INSERT одна после селекта так что лучше все равно лучше, ИМХО повесить праймари/уникальный индекс на эти два поля..... P.S. код чисто так примерный
Все равно добавляет. Поля adr и q_port праймари Вот код. Подскажите пожалуйста, где ошибка. PHP: ?php if($_POST['add']=="Submit"){ $link = mysql_connect("localhost", "root", "") or die("Could not connect"); mysql_select_db("1", $link) or die("Could not select database"); if(!$_POST['c_port']) $_POST['c_port']=$_POST['q_port']; $adr = mysql_escape_string($_POST['adr']); $q_port = mysql_escape_string($_POST['q_port']); $c_port = mysql_escape_string($_POST['c_port']); $type = mysql_escape_string($_POST['type']); $query = "INSERT IGNORE INTO lgsl (adr, q_port, c_port, type) VALUES('$adr', '$q_port', '$c_port', '$type')"; if(mysql_affected_rows(mysql_query($query)) == 0){ echo 'Мужик, уже было'; } echo "Спасибо ваша инфа добавлена"; } mysql_close($link); ?>
Поля adr и q_port праймари и все равно добавляет? В рот мне ноги! Кинь мне плиз структуру таблицы своей
`id` int (11) NOT NULL auto_increment, `status` tinyint (1) NOT NULL default '0', `adr` varchar (255) NOT NULL default '', `q_port` varchar (5) NOT NULL default '0', `c_port` varchar (5) NOT NULL default '0', `s_port` varchar (5) NOT NULL default '0', `type` varchar (50) NOT NULL default '', `cache` text NOT NULL, `cache_time` text NOT NULL, `zone` tinyint (1) NOT NULL default '0', `disabled` tinyint (1) NOT NULL default '0', PRIMARY KEY (`id`) PRIMARY KEY (`adr`) PRIMARY KEY (`q_port`)
Еще ошибка - Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in c:\.....
А блин, что-то я торможу... Кажется вот почему: у тебя же id тут в праймари индекс включен и меняется каждый раз по идее. Оставь в праймари только id, а по adr+q_port сделай уникальный
*dAllonE зарекся давать советы на работе. Он нефига не многозадачный оказывается Даже стыдно за столько ошибок в примерах PHP: <?php mysql_query($query); if(mysql_affected_rows($link) == 0){ echo 'Мужик, уже было'; } ?>
adr и q_port - unique PHP: ?php if($_POST['add']=="Submit"){ $link = mysql_connect("localhost", "root", "") or die("Could not connect"); mysql_select_db("1", $link) or die("Could not select database"); if(!$_POST['c_port']) $_POST['c_port']=$_POST['q_port']; $adr = mysql_escape_string($_POST['adr']); $q_port = mysql_escape_string($_POST['q_port']); $c_port = mysql_escape_string($_POST['c_port']); $type = mysql_escape_string($_POST['type']); $query = "INSERT IGNORE INTO lgsl (adr, q_port, c_port) VALUES('$adr', '$q_port', '$c_port', '$type')"; if(mysql_affected_rows($link) == 0){ echo 'Мужик, уже было'; } echo "Спасибо ваша инфа добавлена"; } mysql_close($link); ?> Сейчас вообще ни чего не добавляет.
щ Помогите зделать мониторинг серверов и хочу чтобы у меня через мониторинг можно было добовлять сервера , а нечерез админку чтобы народ сам добовлял