#php #mysql
#php #mysql
Вопрос:
Мне нужно добавить данные к данным, которые уже есть в таблице.Что мне нужно знать, так это как добавлять, но я не хочу получать данные, манипулировать ими (добавлять), а затем обновлять.
Как данные = Данные новые данные
Комментарии:
1. Уточните свой вопрос — то, что вы только что написали, — это куча странностей…
2. Ваш вопрос не ясен. Перефразируйте.
3. Вы хотите добавить строку к текущему значению определенного поля?
Ответ №1:
При ОБНОВЛЕНИИ используйте описанную здесь функцию CONCAT MySQL .
Пример:
UPDATE table SET row = concat(row,'data to add') WHERE …
Ответ №2:
Вам не нужно получать данные в строке перед обновлением, просто обновите столбец, который вам нужен.
Ответ №3:
Если я правильно понимаю, вам нужен способ выполнить оператор sql, который ОБНОВЛЯЕТ или ВСТАВЛЯЕТ данные в один оператор.
Вы можете использовать REPLACE INTO или НА ДУБЛИРУЮЩЕМ КЛЮЧЕ в своем заявлении:
REPLACE INTO FOO(ID,BAR) VALUES('1','BAR')
или
INSERT INTO FOO (ID, BAR) VALUES(1,'BAR1'),(3,'BAR2') ON DUPLICATE KEY UPDATE BAR=VALUES(BAR)
Ответ №4:
Ну, сначала вам нужно подключиться. Ваш вопрос не ясен, поэтому здесь ‘$’
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
и если вы имеете в виду, что нужный вам контент уже находится на этой странице, вы можете сделать это
mysql_connect(«$host», «$username», «$password») или die(«не удается подключиться»);
mysql_select_db(«$db_name»)или die(«невозможно выбрать DB»);
<?
$sql="select * FROM `clients` where id = '".$id."' ORDER BY `id` DESC LIMIT 50;";
$row=mysql_query($sql) or die(mysql_error());
?>
<?php
while ($row = mysql_fetch_assoc($row)) {
?>
<h3> ID:</h3> <? echo $row["id"]; ?>
<hr>
<hr>
<h3> Date and time: </h3> <? echo $row["dt"]; ?>
<hr>
<h3> Name: </h3> <? echo $row["name"]; ?>
<hr>
<h3> Contact: </h3> <? echo $row["contact"]; ?>
<hr>
<h3> Notes: </h3> <? echo $row["note"]; ?>
<hr>
<h3> Our Comment: </h3> <? echo $row["comment"]; ?>
<hr>
<h3>Contacted:</h3>
<?
$boolval = $row["called"];
if ($boolval == 1)
{echo "Customer has been called";}
else
{echo "Customer has not been called";}
?>
<?php
};
?>
Мотыга, это помогает
Ответ №5:
Похоже, вам нужна модель базы данных, чтобы сделать что-то подобное:
$Model = db_table::fetch_by_id($id);
$Model->Name = ‘новое имя’;
$Model->update();
Я использовал пользовательские модели баз данных для этого раньше, но я не знаю ничего родного для PHP, которое поддерживало бы это.
Под капотом это, по сути, делает это:
SELECT * FROM Google.Users WHERE id = '23';
//Your php business logic here\
UPDATE Google.Users SET name='new name' WHERE id='23';
Ответ №6:
Хорошо, так что, если вы хотите добавить что-то, вот как вы это делаете. Для строк, т.Е. Текста;
<?php
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"
$a = "Hello ";
$a .= "World!"; // now $a contains "Hello World!"
?>
Для чисел, скажем, у вас есть 2 в качестве текущего значения, а 4 — это новое значение
<?php
$current=2;
$new=4;
$current = $new; // now current is 6 as we added the 4 to it.
?>
Чтобы добавить его в свою базу данных, вы просто вставляете его
INSERT INTO TABLE (ID) VALUES($current);
//OR if you're form posts and/or gets to your php page.
$sql="INSERT INTO Tabel (new number, current number)
VALUES
('$_POST[numbernew]','$_POST[numberold]')";