Часть SQL-запроса не выполняется

Оператор обновления следующего оператора SQL не работает.

После исполнения написано:

Query performed correctly: 0 row(s) affected.

Столбец timescount должен увеличиваться на 1 после каждого вызова, но этого не происходит. Мне нужны ваши экспертные глаза, чтобы изучить заявление. Я также показал мою схему базы данных под кодом.

require '15_12.php';

//Now, let us create an instance of mydb.
$mydb = new mydb ("localhost","root","");

//Select a database to use.
$mydb->selectdb ("myquotes");

//Then, let's try to return a row set.
$adata = $mydb->getrows ("SELECT url_string FROM tshirt WHERE timescount = 0 ORDER BY url_id ASC LIMIT 3");

for ($i = 0; $i < count ($adata); $i++){

$result = PIPHP_GetLinksFromURL($adata[$i]);
echo "<ul>";
for ($j = 0 ; $j < count($result) ; ++$j) {
echo "<li>$result[$j]</li>";
}

//Now, hold the row in a variable
$url_escaped = $adata[$i];

//Now, let's perform an action.
$mydb->execute ("UPDATE tshirt SET timescount=timescount+1 WHERE url_string='url_escaped'");}

Структура базы данных

CREATE TABLE IF NOT EXISTS `tshirt` (
`url_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`url_string` varchar(2048) NOT NULL,
`timescount` int(11) unsigned NOT NULL,
`dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`url_id`)
)

-2

Решение

Вы скучаете по $ в вашей переменной, которая вызывает его использование в качестве строкового литерала:

$mydb->execute ("UPDATE tshirt SET timescount=timescount+1 WHERE url_string='url_escaped'");
^^^^
HERE

должно быть

$mydb->execute ("UPDATE tshirt SET timescount=timescount+1 WHERE url_string='$url_escaped'");
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]