Я тестирую этот код и
$db=new PDO('mysql:host=localhost;dbname=cwDB','root','',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$sql="select * from products ";
$stmt=$db->prepare($sql);
$stmt->execute();
while($result=$stmt->fetch(PDO::FETCH_ASSOC)){
$id=$result['id'];
}
Я думаю, что когда вы используете asp-action, вы должны указывать только имя действия, а не полный путь.
Например. Если ниже код на вашей странице:
<form asp-controller="Demo" asp-action="Register" method="post">
<!-- Input and Submit elements -->
</form>
Этот код преобразуется в следующий код:
<form method="post" action="/Demo/Register">
<!-- Input and Submit elements -->
<input name="__RequestVerificationToken" type="hidden" value="<removed for brevity>" />
</form>
Убедитесь, что после преобразования кода на стороне сервера в HTML нет asp-action, есть только атрибут action, понятный HTML-форме.
Для вас вам придется изменить код на:
@model TodoItem
<form asp-controller="Todo" asp-action="AddItem" method="POST">
<label asp-for="Title">Add a new item:</label>
<input asp-for="Title">
<button type="submit">Add</button>
</form>
Надеюсь, это поможет.